com.caucho.quercus.marshal
Class ProEnumMarshal

java.lang.Object
  extended by com.caucho.quercus.marshal.Marshal
      extended by com.caucho.quercus.marshal.EnumMarshal
          extended by com.caucho.quercus.marshal.ProEnumMarshal
All Implemented Interfaces:
ProMarshal

public class ProEnumMarshal
extends EnumMarshal
implements ProMarshal

Code for marshalling arguments.


Field Summary
 
Fields inherited from class com.caucho.quercus.marshal.Marshal
BINARY_BINARY_VALUE_COST, BINARY_BYTE_ARRAY_COST, BINARY_BYTE_OBJECT_ARRAY_COST, BINARY_CHARACTER_ARRAY_COST, BINARY_CHARACTER_OBJECT_ARRAY_COST, BINARY_STRING_COST, BINARY_STRING_VALUE_COST, COST_BINARY_TO_BYTE, COST_BINARY_TO_STRING, COST_EQUAL, COST_FROM_NULL, COST_IDENTICAL, COST_INCOMPATIBLE, COST_NUMERIC_LOSSLESS, COST_NUMERIC_LOSSY, COST_STRING_TO_BINARY, COST_STRING_TO_BYTE, COST_STRING_TO_CHAR, COST_STRING_TO_CHAR_ARRAY, COST_TO_BOOLEAN, COST_TO_BYTE_ARRAY, COST_TO_CHAR, COST_TO_CHAR_ARRAY, COST_TO_JAVA_OBJECT, COST_TO_STRING, COST_VALUE, DOUBLE_CONVERTIBLE_BYTE_COST, DOUBLE_CONVERTIBLE_BYTE_OBJECT_COST, DOUBLE_CONVERTIBLE_DOUBLE_COST, DOUBLE_CONVERTIBLE_DOUBLE_OBJECT_COST, DOUBLE_CONVERTIBLE_DOUBLE_VALUE_COST, DOUBLE_CONVERTIBLE_FLOAT_COST, DOUBLE_CONVERTIBLE_FLOAT_OBJECT_COST, DOUBLE_CONVERTIBLE_INTEGER_COST, DOUBLE_CONVERTIBLE_INTEGER_OBJECT_COST, DOUBLE_CONVERTIBLE_LONG_COST, DOUBLE_CONVERTIBLE_LONG_OBJECT_COST, DOUBLE_CONVERTIBLE_LONG_VALUE_COST, FOUR, LONG_CONVERTIBLE_BYTE_COST, LONG_CONVERTIBLE_BYTE_OBJECT_COST, LONG_CONVERTIBLE_DOUBLE_COST, LONG_CONVERTIBLE_DOUBLE_OBJECT_COST, LONG_CONVERTIBLE_DOUBLE_VALUE_COST, LONG_CONVERTIBLE_FLOAT_COST, LONG_CONVERTIBLE_FLOAT_OBJECT_COST, LONG_CONVERTIBLE_INTEGER_COST, LONG_CONVERTIBLE_INTEGER_OBJECT_COST, LONG_CONVERTIBLE_LONG_COST, LONG_CONVERTIBLE_LONG_OBJECT_COST, LONG_CONVERTIBLE_LONG_VALUE_COST, MAX, ONE, PHP5_BINARY_VALUE_COST, PHP5_BYTE_ARRAY_COST, PHP5_BYTE_OBJECT_ARRAY_COST, PHP5_CHARACTER_ARRAY_COST, PHP5_CHARACTER_OBJECT_ARRAY_COST, PHP5_STRING_COST, PHP5_STRING_VALUE_COST, THREE, TWO, UNICODE_BINARY_VALUE_COST, UNICODE_BYTE_ARRAY_COST, UNICODE_BYTE_OBJECT_ARRAY_COST, UNICODE_CHARACTER_ARRAY_COST, UNICODE_CHARACTER_OBJECT_ARRAY_COST, UNICODE_STRING_COST, UNICODE_STRING_VALUE_COST, ZERO
 
Constructor Summary
ProEnumMarshal(java.lang.Class enumType, boolean isNotNull, boolean isNullAsFalse)
           
 
Method Summary
 void generate(PhpWriter out, ExprGenerator expr, java.lang.Class argClass)
           
 void generateMarshal(CodeWriterAttribute code, int argIndex)
           
 void generateResultEnd(PhpWriter out)
           
 void generateResultStart(PhpWriter out)
           
 void generateUnmarshal(CodeWriterAttribute code)
           
 boolean isByteCodeGenerator()
           
 
Methods inherited from class com.caucho.quercus.marshal.EnumMarshal
getExpectedClass, getMarshalingCostImpl, marshal, marshal, unmarshal
 
Methods inherited from class com.caucho.quercus.marshal.Marshal
getMarshalingCost, getMarshalingCost, isBoolean, isDouble, isLong, isReadOnly, isReference, isString, isValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProEnumMarshal

public ProEnumMarshal(java.lang.Class enumType,
                      boolean isNotNull,
                      boolean isNullAsFalse)
Method Detail

generate

public void generate(PhpWriter out,
                     ExprGenerator expr,
                     java.lang.Class argClass)
              throws java.io.IOException
Specified by:
generate in interface ProMarshal
Throws:
java.io.IOException

generateResultStart

public void generateResultStart(PhpWriter out)
                         throws java.io.IOException
Specified by:
generateResultStart in interface ProMarshal
Throws:
java.io.IOException

generateResultEnd

public void generateResultEnd(PhpWriter out)
                       throws java.io.IOException
Specified by:
generateResultEnd in interface ProMarshal
Throws:
java.io.IOException

isByteCodeGenerator

public boolean isByteCodeGenerator()
Specified by:
isByteCodeGenerator in interface ProMarshal

generateMarshal

public void generateMarshal(CodeWriterAttribute code,
                            int argIndex)
Specified by:
generateMarshal in interface ProMarshal

generateUnmarshal

public void generateUnmarshal(CodeWriterAttribute code)
Specified by:
generateUnmarshal in interface ProMarshal