Package com.caucho.quercus.env

Examples of com.caucho.quercus.env.StringValue


  public StringValue group(Env env, int i)
  {
    int begin = getBegin(i);
    int end = getEnd(i);

    StringValue s = _subject.substring(begin, end);

    return _regexp.convertResult(env, s);
  }
View Full Code Here


      return groupNames[i];
  }
 
  public StringValue substring(Env env, int start)
  {
    StringValue result = _subject.substring(start);

    return _regexp.convertResult(env, result);
  }
View Full Code Here

    return _regexp.convertResult(env, result);
  }
 
  public StringValue substring(Env env, int start, int end)
  {
    StringValue result = _subject.substring(start, end);

    return _regexp.convertResult(env, result);
  }
View Full Code Here

    TempBuffer tempBuf = TempBuffer.allocate();
   
    try {
      ByteBuffer out = ByteBuffer.wrap(tempBuf.getBuffer());
     
      StringValue sb = env.createBinaryBuilder();

      while (in.hasRemaining()) {
        CoderResult coder = _encoder.encode(in, out, false);

        if (! fill(sb, in, out, coder))
View Full Code Here

   * @param str a string
   * @return the string escaped for SQL statements
   */
  protected StringValue realEscapeString(StringValue str)
  {
    StringValue buf = _env.createUnicodeBuilder();

    final int strLength = str.length();

    for (int i = 0; i < strLength; i++) {
      char c = str.charAt(i);

      switch (c) {
      case '\u0000':
        buf.append('\\');
        buf.append(0);
        break;
      case '\n':
        buf.append('\\');
        buf.append('n');
        break;
      case '\r':
        buf.append('\\');
        buf.append('r');
        break;
      case '\\':
        buf.append('\\');
        buf.append('\\');
        break;
      case '\'':
        buf.append('\\');
        buf.append('\'');
        break;
      case '"':
        buf.append('\\');
        buf.append('\"');
        break;
      case '\032':
        buf.append('\\');
        buf.append('Z');
        break;
      default:
        buf.append(c);
        break;
      }
    }

    return buf;
View Full Code Here

  }
 
  @Override
  public StringValue encode(Env env, CharSequence str)
  {
    StringValue sb = env.createBinaryBuilder();
   
    int len = str.length();
    for (int i = 0; i < len; i++) {
      char ch = str.charAt(i);
     
      if (ch <= 0x7F) {
        sb.appendByte(ch);
        continue;
      }
     
      int code = ch;
     
      if ('\uD800' <= ch && ch <= '\uDBFF') {
        char ch2;
       
        if (i + 1 < len
            && '\uDC00' <= (ch2 = str.charAt(i + 1)) && ch2 <= '\uDFFF') {
          i++;
         
          code = 0x10000 + ((code & 0xFF) << 8);
          code = code + (ch2 & 0xFF);
        }
        else {
          if (_isIgnore) {
          }
          else if (_replacement != null)
            sb.append(_replacement);
          else
            return sb;
         
          continue;
        }
      }
     
      if (0x80 <= code && code <= 0x7FF) {
        sb.appendByte(0xC0 | (code >> 6));
        sb.appendByte(0x80 | (code & 0x3F));
      }
      else if (0x800 <= code && code <= 0xFFFF) {
        sb.appendByte(0xE0 | (code >> 12));
        sb.appendByte(0x80 | ((code >> 6) & 0x3F));
        sb.appendByte(0x80 | (code & 0x3F));
      }
      else {
        sb.appendByte(0xF0 | (code >> 18));
        sb.appendByte(0x80 | ((code >> 12) & 0x3F));
        sb.appendByte(0x80 | ((code >> 6) & 0x3F));
        sb.appendByte(0x80 | (code & 0x3F));
      }
    }
   
    return sb;
  }
View Full Code Here

        log.fine("websocket_read expected 0x00 at '0x" + Integer.toHexString(ch) + "'");
       
        return BooleanValue.FALSE;
      }

      StringValue sb = env.createStringBuilder();

      while ((ch = is.read()) >= 0 && ch != 0xff) {
        if (ch < 0x80)
          sb.append((char) ch);
        else if ((ch & 0xe0) == 0xc0) {
          int ch2 = is.read();
         
          if ((ch2 & 0x80) == 0x80) {
            sb.append(ch);
            sb.append(ch2);
          }
          else {
            log.fine("websocket_read expected 0x80 character at '0x"
                     + Integer.toHexString(ch2) + "' for string " + sb);
            sb.append(0xfe);
            sb.append(0xdd);
          }
        }
        else if ((ch & 0xf0) == 0xe0) {
          int ch2 = is.read();
          int ch3 = is.read();
         
          if ((ch2 & 0x80) == 0x80 && (ch3 & 0x80) == 0x80) {
            sb.append(ch);
            sb.append(ch2);
            sb.append(ch3);
          }
          else {
            log.fine("websocket_read expected 0x80 character at "
                     + " '0x" + Integer.toHexString(ch2)
                     + "' '0x" + Integer.toHexString(ch3)
                     + "' for string " + sb);
           
            sb.append(0xfe);
            sb.append(0xdd);
          }
        }
        else {
          log.fine("websocket_read invalid lead character "
                   + " '0x" + Integer.toHexString(ch)
                   + "' for string " + sb);
           
          sb.append(0xfe);
          sb.append(0xdd);
        }
      }

      if (ch != 0xff) {
          log.fine("websocket_read expected 0xff "
View Full Code Here

        byte []buffer = tempBuffer.getBuffer();

        length = socket.read(buffer, 0, length);

        if (length > 0) {
          StringValue sb = env.createBinaryBuilder(buffer, 0, length);
          return sb;
        } else
          return BooleanValue.FALSE;
      }
    } catch (IOException e) {
View Full Code Here

  }

  private StringValue readInternalBlob(Env env, long length)
  {
    try {
      StringValue bb = env.createBinaryBuilder();

      Blob blob = (Blob) _lob;
      InputStream is = blob.getBinaryStream();
      is.skip(_currentPointer);

      if (length < 0)
  length = Integer.MAX_VALUE;
     
      bb.appendReadAll(is, length);

      is.close();

      return bb;
    } catch (Exception ex) {
View Full Code Here

  private StringValue readInternalClob(Env env,
                                       long length)
  {
    try {
      StringValue sb = env.createUnicodeBuilder();

      Clob clob = (Clob) _lob;
      Reader reader = clob.getCharacterStream();
      reader.skip(_currentPointer);

      if (length < 0)
        length = Integer.MAX_VALUE;

      sb.append(reader, length);

      reader.close();

      return sb;
    } catch (Exception ex) {
View Full Code Here

TOP

Related Classes of com.caucho.quercus.env.StringValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.