Package com.caucho.quercus.env

Examples of com.caucho.quercus.env.StringValue


                                  @Optional StringValue to)
  {
    if (fromV instanceof ArrayValue)
      return strtrArray(string, (ArrayValue) fromV);

    StringValue from = fromV.toStringValue();

    int len = from.length();

    if (to.length() < len)
      len = to.length();

    char []map = new char[256];
    for (int i = len - 1; i >= 0; i--)
      map[from.charAt(i)] = to.charAt(i);

    StringValue sb = string.createStringBuilder();

    len = string.length();
    for (int i = 0; i < len; i++) {
      char ch = string.charAt(i);

      if (map[ch] != 0)
        sb.append(map[ch]);
      else
        sb.append(ch);
    }

    return sb;
  }
View Full Code Here


      toList[i] = entryArray[i].getValue().toStringValue();

      charSet[fromList[i].charAt(0)] = true;
    }

    StringValue result = string.createStringBuilder();
    int len = string.length();
    int head = 0;

    top:
    while (head < len) {
      char ch = string.charAt(head);

      if (charSet.length <= ch || charSet[ch]) {
        fromLoop:
        for (i = 0; i < fromList.length; i++) {
          StringValue from = fromList[i];
          int fromLen = from.length();

          if (head + fromLen > len)
            continue;

          if (ch != from.charAt(0))
            continue;

          for (int j = 0; j < fromLen; j++) {
            if (string.charAt(head + j) != from.charAt(j))
              continue fromLoop;
          }

          result = result.append(toList[i]);
          head = head + fromLen;
View Full Code Here

    else {
      end = (strLen < len) ? strLen : (start + len);
    }


    StringValue result = string.createStringBuilder();

    result = result.append(string.substring(0, start));
    result = result.append(replacement);
    result = result.append(string.substring(end));

    return result;
  }
View Full Code Here

    if (string == null)
      return env.getEmptyString();
    else if (string.length() == 0)
      return string;

    StringValue sb = string.createStringBuilder();

    sb = sb.append(Character.toUpperCase(string.charAt(0)));
    sb = sb.append(string, 1, string.length());

    return sb;
  }
View Full Code Here

      breakChar = breakString.charAt(0);

    int head = 0;
    int lastSpace = 0;

    StringValue sb = env.createStringBuilder();

    for (int i = 0; i < len; i++) {
      char ch = string.charAt(i);
     
      if (ch == breakChar && string.regionMatches(
          i, breakString, 0, breakLen)) {
        sb.append(string, head, i + breakLen);
        head = i + breakLen;
      } else if (width <= i - head) {
        if (ch == ' ') {
          sb.append(string, head, i);
          sb.append(breakString);
          head = i + 1;
        } else if (head < lastSpace) {
          sb.append(string, head, lastSpace);
          sb.append(breakString);
          head = lastSpace + 1;
        } else if (isCut) {
          sb.append(string, head, i);
          sb.append(breakString);
          head = i;
        }
      } else if (ch == ' ') {
        lastSpace = i;
      }
    }

    if (head < len) {
      sb.append(string, head, len);
    }

    return sb;
  }
View Full Code Here

                     int strlen,
                     int sIndex,
                     Value var,
                     boolean isReturnArray)
    {
      StringValue sb = string.createStringBuilder();
     
      for (; sIndex < strlen; sIndex++) {
        char ch = string.charAt(sIndex);
       
        if (_set.contains(ch)) {
          sb.append(ch);
        }
        else {
          break;
        }
      }
     
      if (sb.length() > 0)
        sscanfPut(var, sb, isReturnArray);
      else if (isReturnArray)
        var.put(NullValue.NULL);
     
      return sIndex;
View Full Code Here

                     int strlen,
                     int sIndex,
                     Value var,
                     boolean isReturnArray)
    {
      StringValue sb = string.createStringBuilder();
     
      for (; sIndex < strlen; sIndex++) {
        char ch = string.charAt(sIndex);
       
        if (! _set.contains(ch)) {
          sb.append(ch);
        }
        else {
          break;
        }
      }
     
      if (sb.length() > 0)
        sscanfPut(var, sb, isReturnArray);
      else if (isReturnArray)
        var.put(NullValue.NULL);
     
      return sIndex;
View Full Code Here

    _tempStream = null;

    if (ts == null)
      return BooleanValue.FALSE;

    StringValue result = env.createBinaryBuilder();
    for (TempBuffer ptr = ts.getHead();
         ptr != null;
         ptr = ptr.getNext()) {
      result.append(ptr.getBuffer(), 0, ptr.getLength());
    }

    ts.destroy();

    return result;
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

   * Creates a string.  Because these strings are typically Java
   * constants, they fit into a lru cache.
   */
  public StringValue createString(String name)
  {
    StringValue value = _stringMap.get(name);

    if (value == null) {
      value = new ConstStringValue(name);

      _stringMap.put(name, value);
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.