/**
         * Returns a subsequence
         */
        public override CharSequence subSequence(int start, int end)
        {
            if (end <= start)
            {
                return(StringBuilderValue.EMPTY);
            }

            StringValue stringValue;

            if (end - start < 1024)
            {
                stringValue = new StringBuilderValue(end - start);
            }
            else
            {
                stringValue = new LargeStringBuilderValue();
            }

            int endChunk = end / SIZE;

            while (start < end)
            {
                int startChunk  = start / SIZE;
                int startOffset = start % SIZE;

                if (startChunk == endChunk)
                {
                    stringValue.append(_bufferList[startChunk],
                                       startOffset,
                                       (end - start));

                    return(stringValue);
                }
                else
                {
                    int len = SIZE - startOffset;

                    stringValue.append(_bufferList[startChunk], startOffset, len);

                    start += len;
                }
            }

            return(stringValue);
        }
        /**
         * Convert to lower case.
         */
        public override StringValue toUpperCase()
        {
            int length = _length;

            StringValue string = new LargeStringBuilderValue();

            byte [][] bufferList = _bufferList;

            for (int i = 0; i < length; i++)
            {
                int ch = bufferList[i / SIZE][i % SIZE] & 0xff;

                if ('a' <= ch && ch <= 'z')
                {
                    ch = (ch + 'A' - 'a');
                }

                string.append((char)ch);
            }

            return(string);
        }
 /**
  * Append to a string builder.
  */
 public override StringValue appendTo(LargeStringBuilderValue sb)
 {
     return(sb.append(_value));
 }
Exemplo n.º 4
0
 /**
  * Append to a string builder.
  */
 public override StringValue appendTo(LargeStringBuilderValue sb)
 {
     return(getValue().appendTo(sb));
 }
Exemplo n.º 5
0
 /**
  * Append to a binary builder.
  */
 public override StringValue appendTo(LargeStringBuilderValue sb)
 {
     return(sb.append(ToString(Env.getInstance())));
 }