Example #1
0
        /**
         * Convert to lower case.
         */
        public override StringValue toUpperCase()
        {
            int length = length();

            BinaryBuilderValue string = new BinaryBuilderValue(length);

            byte [] srcBuffer = getBuffer();
            byte [] dstBuffer = string.getBuffer();

            for (int i = 0; i < length; i++)
            {
                byte ch = srcBuffer[i];

                if ('a' <= ch && ch <= 'z')
                {
                    dstBuffer[i] = (byte)(ch + 'A' - 'a');
                }
                else
                {
                    dstBuffer[i] = ch;
                }
            }

            string.setLength(length);

            return(string);
        }
Example #2
0
        /**
         * Returns the character at an index
         */
        public override Value charValueAt(long index)
        {
            int len = length();

            if (index < 0 || len <= index)
            {
                return(UnsetBinaryValue.UNSET);
            }
            else
            {
                return(BinaryBuilderValue.create(getBuffer()[(int)index] & 0xff));
            }
        }
        /**
         * Converts to a BinaryValue in desired charset.
         *
         * @param env
         * @param charset
         */
        public override StringValue toBinaryValue(String charset)
        {
            try {
                BinaryBuilderValue  result = new BinaryBuilderValue();
                BinaryBuilderStream stream = new BinaryBuilderStream(result);

                // XXX: can use EncodingWriter directly(?)
                WriteStream @out = new WriteStream(stream);
                @out.setEncoding(charset);

                @out.print(_buffer, 0, _length);

                @out.close();

                return(result);
            } catch (IOException e) {
                throw new QuercusModuleException(e.getMessage());
            }
        }
Example #4
0
        /**
         * Converts to a string builder
         */
        public StringValue ToStringBuilder(Env env, StringValue value)
        {
            if (value.isUnicode())
            {
                UnicodeBuilderValue sb = new UnicodeBuilderValue(this);

                value.appendTo(sb);

                return(sb);
            }
            else
            {
                BinaryBuilderValue v = new BinaryBuilderValue(this);

                value.appendTo(v);

                return(v);
            }
        }
 /**
  * Append to a binary builder.
  */
 public override StringValue appendTo(BinaryBuilderValue sb)
 {
     return(sb.append(_value));
 }
Example #6
0
 public BinaryBuilderValue(BinaryBuilderValue v)
     : base(v)
 {
 }
Example #7
0
 /**
  * Append to a string builder.
  */
 public override StringValue appendTo(BinaryBuilderValue sb)
 {
     return(getValue().appendTo(sb));
 }
Example #8
0
 /**
  * Append to a binary builder.
  */
 public override StringValue appendTo(BinaryBuilderValue sb)
 {
     return(sb.appendBytes(ToString(Env.getInstance())));
 }