com.caucho.quercus.env
Class Value

java.lang.Object
  extended by com.caucho.quercus.env.Value
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ArgGetFieldValue, ArgGetValue, ArgObjectGetValue, ArrayValue, BooleanValue, BreakValue, Callback, CompositeDataValue, ContinueValue, NullValue, NumberValue, ObjectValue, RefVar, ResourceValue, SessionCallback, StreamBucket, StringValue, Var

public abstract class Value
extends java.lang.Object
implements java.io.Serializable

Represents a PHP expression value.

See Also:
Serialized Form

Field Summary
protected static L10N L
           
static Value[] NULL_ARGS
           
static Value[] NULL_VALUE_ARRAY
           
static StringValue SCALAR_V
           
 
Constructor Summary
Value()
           
 
Method Summary
 Value add(long lLong)
          Multiplies to the following value.
 Value add(Value rValue)
          Adds to the following value.
 StringValue appendTo(BinaryBuilderValue sb)
          Append to a binary builder.
 StringValue appendTo(LargeStringBuilderValue sb)
          Append to a binary builder.
 StringValue appendTo(StringBuilderValue sb)
          Append to a binary builder.
 StringValue appendTo(UnicodeBuilderValue sb)
          Append to a string builder.
 Value bitAnd(Value rValue)
           
 Value bitOr(Value rValue)
           
 Value bitXor(Value rValue)
           
 Value callClassMethod(Env env, AbstractFunction fun, Value[] args)
          Evaluates a method.
 Value callMethod(Env env, int hash, char[] name, int nameLen)
          Evaluates a method with 0 args.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Expr[] args)
          Evaluates a method.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value a0)
          Evaluates a method with 1 arg.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value[] args)
          Evaluates a method.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value a0, Value a1)
          Evaluates a method with 1 arg.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2)
          Evaluates a method with 3 args.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2, Value a3)
          Evaluates a method with 4 args.
 Value callMethod(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2, Value a3, Value a5)
          Evaluates a method with 5 args.
 Value callMethod(Env env, StringValue nameValue)
          Evaluates a method with 0 args.
 Value callMethod(Env env, StringValue nameValue, Expr[] args)
          Evaluates a method.
 Value callMethod(Env env, StringValue nameValue, Value a0)
          Evaluates a method with 1 arg.
 Value callMethod(Env env, StringValue nameValue, Value[] args)
          Evaluates a method.
 Value callMethod(Env env, StringValue nameValue, Value a0, Value a1)
          Evaluates a method with 1 arg.
 Value callMethod(Env env, StringValue nameValue, Value a0, Value a1, Value a2)
          Evaluates a method with 3 args.
 Value callMethod(Env env, StringValue nameValue, Value a0, Value a1, Value a2, Value a3)
          Evaluates a method with 4 args.
 Value callMethod(Env env, StringValue nameValue, Value a0, Value a1, Value a2, Value a3, Value a4)
          Evaluates a method with 5 args.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen)
          Evaluates a method with 0 args.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Expr[] args)
          Evaluates a method.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value a0)
          Evaluates a method with 1 arg.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value[] args)
          Evaluates a method.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value a0, Value a1)
          Evaluates a method with 1 arg.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2)
          Evaluates a method with 3 args.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2, Value a3)
          Evaluates a method with 4 args.
 Value callMethodRef(Env env, int hash, char[] name, int nameLen, Value a0, Value a1, Value a2, Value a3, Value a5)
          Evaluates a method with 5 args.
 Value callMethodRef(Env env, StringValue nameValue)
          Evaluates a method with 0 args.
 Value callMethodRef(Env env, StringValue nameValue, Expr[] args)
          Evaluates a method.
 Value callMethodRef(Env env, StringValue nameValue, Value a0)
          Evaluates a method with 1 arg.
 Value callMethodRef(Env env, StringValue nameValue, Value[] args)
          Evaluates a method.
 Value callMethodRef(Env env, StringValue nameValue, Value a0, Value a1)
          Evaluates a method with 2 args.
 Value callMethodRef(Env env, StringValue nameValue, Value a0, Value a1, Value a2)
          Evaluates a method with 3 args.
 Value callMethodRef(Env env, StringValue nameValue, Value a0, Value a1, Value a2, Value a3)
          Evaluates a method with 4 args.
 Value callMethodRef(Env env, StringValue nameValue, Value a0, Value a1, Value a2, Value a3, Value a4)
          Evaluates a method with 5 args.
 Value charValueAt(long index)
          Returns the character at the named index.
 void checkPrivate(Env env, java.lang.String className)
          Checks if 'this' is a valid private call for 'className'
 void checkProtected(Env env, java.lang.String className)
          Checks if 'this' is a valid protected call for 'className'
 Value clone()
          Clone for the clone keyword
 int cmp(Value rValue)
          Returns a negative/positive integer if this Value is lessthan/greaterthan rValue.
 Value copy()
          Copy for assignment.
 Value copy(Env env)
          Copy for serialization
 Value copy(Env env, java.util.IdentityHashMap<Value,Value> map)
          Copy for serialization
 Value copyArrayItem()
          Copy as an array item
 Value copyReturn()
          Copy as a return value
 Value copyTree(Env env, CopyRoot root)
          Copy for serialization
 Value current()
          Returns the current value
 Value div(long r)
          Multiplies to the following value.
 Value div(Value rValue)
          Divides the following value.
 boolean eq(Value rValue)
          Returns true for equality
 boolean eql(Value rValue)
          Returns true for equality
 Value eqValue(Value rValue)
          Returns true for equality
 AbstractFunction findFunction(java.lang.String methodName)
          Finds the method name.
 void generate(java.io.PrintWriter out)
          Generates code to recreate the expression.
 boolean geq(Value rValue)
          Returns true for greater than or equal to
 Value get(Value index)
          Returns the array ref.
 Value getArg(Value index)
          Returns the array ref as a function argument.
 Value getArray()
          Returns the value for a field, creating an array if the field is unset.
 Value getArray(Value index)
          Returns the value for a field, creating an array if the field is unset.
 java.lang.String getClassName()
          Returns the value's class name.
 int getCount(Env env)
          Returns the count, as returned by the global php count() function
 int getCountRecursive(Env env)
          Returns the count, as returned by the global php count() function
 Value getDirty(Value index)
          Returns the array value, copying on write if necessary.
 Value getField(Env env, StringValue name)
          Returns the field value
 Value getFieldArg(Env env, StringValue name)
          Returns the field used as a method argument
 Value getFieldArgRef(Env env, StringValue name)
          Returns the field ref for an argument.
 Value getFieldArray(Env env, StringValue name)
          Returns the value for a field, creating an object if the field is unset.
 Value getFieldObject(Env env, StringValue name)
          Returns the value for a field, creating an object if the field is unset.
 Value getFieldRef(Env env, StringValue name)
          Returns the field ref.
 java.util.Iterator<java.util.Map.Entry<Value,Value>> getIterator(Env env)
          Returns an iterator for the key => value pairs.
 Value[] getKeyArray(Env env)
          Returns the field keys.
 java.util.Iterator<Value> getKeyIterator(Env env)
          Returns an iterator for the field keys.
 Value getObject(Env env)
          Returns the value for the variable, creating an object if the var is unset.
 Value getObject(Env env, Value index)
          Returns the value for a field, creating an object if the field is unset.
 Value getRef(Value index)
          Returns a reference to the array value.
 java.lang.String getResourceType()
           
 int getSize()
          Returns the array size.
 Value getThisField(Env env, StringValue name)
          Returns the field value
 Value getThisFieldArg(Env env, StringValue name)
          Returns the field used as a method argument
 Value getThisFieldArgRef(Env env, StringValue name)
          Returns the field ref for an argument.
 Value getThisFieldArray(Env env, StringValue name)
          Returns the value for a field, creating an object if the field is unset.
 Value getThisFieldObject(Env env, StringValue name)
          Returns the value for a field, creating an object if the field is unset.
 Value getThisFieldRef(Env env, StringValue name)
          Returns the field ref.
 java.lang.String getType()
          Returns the type.
 Value[] getValueArray(Env env)
          Returns the field values.
 java.util.Iterator<Value> getValueIterator(Env env)
          Returns an iterator for the field values.
 ValueType getValueType()
          Returns the ValueType.
 boolean gt(Value rValue)
          Returns true for greater than
 boolean hasCurrent()
          Returns true if there are more elements.
 boolean isA(java.lang.String name)
          Returns true for an implementation of a class
 boolean isArray()
          Returns true for an array.
 boolean isBinary()
          Returns true for a BinaryValue.
 boolean isBoolean()
          Returns true for a BooleanValue
 boolean isDefault()
          Returns true for a DefaultValue
 boolean isDoubleConvertible()
          Returns true for a double-value.
 boolean isEmpty()
          Returns true if the value is empty
 boolean isLongConvertible()
          Returns true for a long-value.
 boolean isNull()
          Returns true for a null.
 boolean isNumberConvertible()
          Returns true for a number.
 boolean isNumeric()
          Matches is_numeric
 boolean isObject()
          Returns true for an object.
 boolean isResource()
           
 boolean isset()
          Returns true if the value is set.
 boolean isset(Value index)
          Return true if the array value is set
 boolean issetField(StringValue name)
          Returns true if the field is set
 boolean issetThisField(StringValue name)
          Returns true if the field is set
 boolean isString()
          Returns true for a StringValue.
 boolean isUnicode()
          Returns true for a UnicodeValue.
 Value key()
          Returns the current key
 int length()
          Returns the length as a string.
 boolean leq(Value rValue)
          Returns true for less than or equal to
 Value lshift(Value rValue)
          Shifts left by the value.
 boolean lt(Value rValue)
          Returns true for less than
 Value mod(Value rValue)
          modulo the following value.
 Value mul(long r)
          Multiplies to the following value.
 Value mul(Value rValue)
          Multiplies to the following value.
 Value neg()
          Negates the value.
 Value next()
          Returns the current value
 long nextIndex(long oldIndex)
          Returns the next array index based on this value.
 Value pos()
          Negates the value.
 Value postincr(int incr)
          Post-increment the following value.
 Value preincr(int incr)
          Pre-increment the following value.
 void print(Env env)
          Prints the value.
 void print(Env env, WriteStream out)
          Prints the value.
protected  void printDepth(WriteStream out, int depth)
           
protected static void printJavaString(java.io.PrintWriter out, StringValue s)
           
 void printR(Env env, WriteStream out, int depth, java.util.IdentityHashMap<Value,java.lang.String> valueSet)
           
protected  void printRImpl(Env env, WriteStream out, int depth, java.util.IdentityHashMap<Value,java.lang.String> valueSet)
           
 Value put(Value value)
          Appends an array value
 Value put(Value index, Value value)
          Sets the array ref.
 Value putArray()
          Appends the array
 Value putField(Env env, java.lang.String name, Value value)
           
 Value putField(Env env, StringValue name, Value object)
          Returns the field ref.
 Value putObject(Env env)
          Appends a new object
 Value putRef()
          Sets the array ref.
 Value putThisField(Env env, StringValue name, Value object)
          Returns the field ref.
 Value remove(Value index)
          Return unset the value.
 Value rshift(Value rValue)
          Shifts right by the value.
 void serialize(Env env, java.lang.StringBuilder sb)
          Serializes the value.
 void serialize(Env env, java.lang.StringBuilder sb, SerializeMap serializeMap)
           
 Value set(Value value)
          Sets the value ref.
 Value setCharValueAt(long index, java.lang.String value)
          Sets the character at the named index.
 Value sub_rev(long lLong)
          Substracts from the previous value.
 Value sub(long rLong)
          Subtracts
 Value sub(Value rValue)
          Subtracts to the following value.
 Value toArgValue()
          Convert to a function argument value, e.g.
 Value toArgValueReadOnly()
          Convert to a function argument value, e.g.
 Value toArray()
          Converts to an array.
 ArrayValue toArrayValue(Env env)
          Casts to an array.
 Value toAutoArray()
          Converts to an array if null.
 Value toAutoObject(Env env)
          Converts to an object if null.
 java.math.BigDecimal toBigDecimal()
          Converts to a Java BigDecimal.
 java.math.BigInteger toBigInteger()
          Converts to a Java BigInteger.
 StringValue toBinaryValue()
          Converts to a BinaryValue.
 StringValue toBinaryValue(Env env)
          Converts to a BinaryValue.
 boolean toBoolean()
          Converts to a boolean.
 char toChar()
          Converts to a char
 java.lang.String toDebugString()
           
 double toDouble()
          Converts to a double.
 DoubleValue toDoubleValue()
          Converts to a double vaule
 QuercusException toException(Env env, java.lang.String file, int line)
          Converts to an exception.
 java.io.InputStream toInputStream()
          Returns a byteArrayInputStream for the value.
 int toInt()
          Converts to an int
 java.lang.String toInternString()
           
 java.lang.Boolean toJavaBoolean()
          Converts to a java boolean object.
 java.lang.Byte toJavaByte()
          Converts to a java byte object.
 java.util.Calendar toJavaCalendar()
          Converts to a Java Calendar.
 java.lang.Character toJavaCharacter()
          Converts to a java Character object.
 java.util.Collection toJavaCollection(Env env, java.lang.Class type)
          Converts to a java Collection object.
 java.util.Date toJavaDate()
          Converts to a Java Date.
 java.lang.Double toJavaDouble()
          Converts to a java Double object.
 java.lang.Float toJavaFloat()
          Converts to a java Float object.
 java.lang.Integer toJavaInteger()
          Converts to a java Integer object.
 java.util.List toJavaList(Env env, java.lang.Class type)
          Converts to a java List object.
 java.lang.Long toJavaLong()
          Converts to a java Long object.
 java.util.Map toJavaMap(Env env, java.lang.Class type)
          Converts to a java Map object.
 java.lang.Object toJavaObject()
          Converts to a java object.
 java.lang.Object toJavaObject(Env env, java.lang.Class type)
          Converts to a java object.
 java.lang.Object toJavaObjectNotNull(Env env, java.lang.Class type)
          Converts to a java object.
 java.lang.Short toJavaShort()
          Converts to a java short object.
 java.lang.String toJavaString()
          Converts to a java String object.
 java.net.URL toJavaURL(Env env)
          Converts to a Java URL.
 Value toKey()
          Converts to a key.
 long toLong()
          Converts to a long.
 LongValue toLongValue()
          Converts to a long vaule
 Value toObject(Env env)
          Converts to an object.
 Value toRef()
          Convert to a ref.
 Value toRefValue()
          Convert to a function argument reference value, e.g.
 Var toRefVar()
          Convert to a function argument reference value, e.g.
 StringValue toString(Env env)
          Converts to a string.