org.apache.jdo.impl.enhancer.classfile
Class ConstString

java.lang.Object
  extended byorg.apache.jdo.impl.enhancer.classfile.ConstBasic
      extended byorg.apache.jdo.impl.enhancer.classfile.ConstValue
          extended byorg.apache.jdo.impl.enhancer.classfile.ConstString
All Implemented Interfaces:
VMConstants

public class ConstString
extends ConstValue

Class representing a class specification in the constant pool ConstString strictly speaking is not a ConstantValue in the Java VM sense. However, the compiler generates ConstantValue attributes which refer to ConstString entries. This occurs for initialized static final String fields. I've changed ConstString to be a ConstValue for now as a simplification.


Field Summary
static int MyTag
           
private  ConstUtf8 stringValue
           
private  int stringValueIndex
           
 
Fields inherited from class org.apache.jdo.impl.enhancer.classfile.ConstBasic
index
 
Fields inherited from interface org.apache.jdo.impl.enhancer.classfile.VMConstants
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
 
Constructor Summary
(package private) ConstString(ConstUtf8 s)
           
(package private) ConstString(int sIndex)
           
 
Method Summary
 java.lang.String descriptor()
          Return the descriptor string for the constant type.
(package private)  void formatData(java.io.DataOutputStream b)
          Write this Constant pool entry to the output stream
 boolean isEqual(java.util.Stack msg, java.lang.Object obj)
          Compares this instance with another for structural equality.
(package private) static ConstString read(java.io.DataInputStream input)
           
(package private)  void resolve(ConstantPool p)
          Resolve integer index references to the actual constant pool entries that they represent.
 int tag()
          Return the tag for this constant
 java.lang.String toString()
          A printable representation
 ConstUtf8 value()
          Return the utf8 string calue
 
Methods inherited from class org.apache.jdo.impl.enhancer.classfile.ConstBasic
getIndex, indexAsString, setIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MyTag

public static final int MyTag
See Also:
Constant Field Values

stringValue

private ConstUtf8 stringValue

stringValueIndex

private int stringValueIndex
Constructor Detail

ConstString

ConstString(ConstUtf8 s)

ConstString

ConstString(int sIndex)
Method Detail

tag

public int tag()
Return the tag for this constant

Specified by:
tag in class ConstBasic

value

public ConstUtf8 value()
Return the utf8 string calue


descriptor

public java.lang.String descriptor()
Return the descriptor string for the constant type.

Specified by:
descriptor in class ConstValue

toString

public java.lang.String toString()
A printable representation


isEqual

public boolean isEqual(java.util.Stack msg,
                       java.lang.Object obj)
Compares this instance with another for structural equality.

Overrides:
isEqual in class ConstBasic

formatData

void formatData(java.io.DataOutputStream b)
          throws java.io.IOException
Description copied from class: ConstBasic
Write this Constant pool entry to the output stream

Specified by:
formatData in class ConstBasic
Throws:
java.io.IOException

read

static ConstString read(java.io.DataInputStream input)
                 throws java.io.IOException
Throws:
java.io.IOException

resolve

void resolve(ConstantPool p)
Description copied from class: ConstBasic
Resolve integer index references to the actual constant pool entries that they represent. This is used during class file reading because a constant pool entry could have a forward reference to a higher numbered constant.

Specified by:
resolve in class ConstBasic