Overview | Package | Class | Use | Tree | Deprecated | Index
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javassist.bytecode
Class ConstPool

    java.lang.Object
      |
      +--javassist.bytecode.ConstPool

public final class ConstPool
extends java.lang.Object

Constant pool table.

Field Summary
`static int` | `CONST_Class` `CONSTANT_Class`
`static int` | `CONST_Double` `CONSTANT_Double`
`static int` | `CONST_Fieldref` `CONSTANT_Fieldref`
`static int` | `CONST_Float` `CONSTANT_Float`
`static int` | `CONST_Integer` `CONSTANT_Integer`
`static int` | `CONST_InterfaceMethodref` `CONSTANT_InterfaceMethodref`
`static int` | `CONST_Long` `CONSTANT_Long`
`static int` | `CONST_Methodref` `CONSTANT_Methodref`
`static int` | `CONST_NameAndType` `CONSTANT_NameAndType`
`static int` | `CONST_String` `CONSTANT_String`
`static int` | `CONST_Utf8` `CONSTANT_Utf8`
`static CtClass` | `THIS` Represents the class using this constant pool table.

Constructor Summary
`ConstPool(java.io.DataInputStream in)` Constructs a constant pool table from the given byte stream.
`ConstPool(java.lang.String thisclass)` Constructs a constant pool table.

Method Summary
`int` | `addClassInfo(CtClass c)` Adds a new `CONSTANT_Class_info` structure.
`int` | `addClassInfo(java.lang.String qname)` Adds a new `CONSTANT_Class_info` structure.
`int` | `addDoubleInfo(double d)` Adds a new `CONSTANT_Double_info` structure.
`int` | `addFieldrefInfo(int classInfo, int nameAndTypeInfo)` Adds a new `CONSTANT_Fieldref_info` structure.
`int` | `addFieldrefInfo(int classInfo, java.lang.String name, java.lang.String type)` Adds a new `CONSTANT_Fieldref_info` structure.
`int` | `addFloatInfo(float f)` Adds a new `CONSTANT_Float_info` structure.
`int` | `addIntegerInfo(int i)` Adds a new `CONSTANT_Integer_info` structure.
`int` | `addInterfaceMethodrefInfo(int classInfo, int nameAndTypeInfo)` Adds a new `CONSTANT_InterfaceMethodref_info` structure.
`int` | `addInterfaceMethodrefInfo(int classInfo, java.lang.String name, java.lang.String type)` Adds a new `CONSTANT_InterfaceMethodref_info` structure.
`int` | `addLongInfo(long l)` Adds a new `CONSTANT_Long_info` structure.
`int` | `addMethodrefInfo(int classInfo, int nameAndTypeInfo)` Adds a new `CONSTANT_Methodref_info` structure.
`int` | `addMethodrefInfo(int classInfo, java.lang.String name, java.lang.String type)` Adds a new `CONSTANT_Methodref_info` structure.
`int` | `addNameAndTypeInfo(int name, int type)` Adds a new `CONSTANT_NameAndType_info` structure.
`int` | `addNameAndTypeInfo(java.lang.String name, java.lang.String type)` Adds a new `CONSTANT_NameAndType_info` structure.
`int` | `addStringInfo(java.lang.String str)` Adds a new `CONSTANT_String_info` structure.
`int` | `addUtf8Info(java.lang.String utf8)` Adds a new `CONSTANT_Utf8_info` structure.
`int` | `copy(int n, ConstPool dest, java.util.Map classnames)` Copies the n-th item in this ConstPool object into the destination ConstPool object.
`java.lang.String` | `getClassInfo(int index)` Reads `CONSTANT_Class_info` structure at the given index.
`java.lang.String` | `getClassName()` Returns the name of the class using this constant pool table.
`double` | `getDoubleInfo(int index)` Reads `CONSTANT_Double_info` structure at the given index.
`int` | `getFieldrefClass(int index)` Reads the `class_index` field of the `CONSTANT_Fieldref_info` structure at the given index.
`java.lang.String` | `getFieldrefClassName(int index)` Reads the `class_index` field of the `CONSTANT_Fieldref_info` structure at the given index.
`java.lang.String` | `getFieldrefName(int index)` Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`int` | `getFieldrefNameAndType(int index)` Reads the `name_and_type_index` field of the `CONSTANT_Fieldref_info` structure at the given index.
`java.lang.String` | `getFieldrefType(int index)` Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`float` | `getFloatInfo(int index)` Reads `CONSTANT_Float_info` structure at the given index.
`int` | `getIntegerInfo(int index)` Reads `CONSTANT_Integer_info` structure at the given index.
`int` | `getInterfaceMethodrefClass(int index)` Reads the `class_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.
`java.lang.String` | `getInterfaceMethodrefClassName(int index)` Reads the `class_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.
`java.lang.String` | `getInterfaceMethodrefName(int index)` Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`int` | `getInterfaceMethodrefNameAndType(int index)` Reads the `name_and_type_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.
`java.lang.String` | `getInterfaceMethodrefType(int index)` Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`java.lang.Object` | `getLdcValue(int index)` Reads `CONSTANT_Integer_info`, `_Float_info`, `_Long_info`, `_Double_info`, or `_String_info` structure.
`long` | `getLongInfo(int index)` Reads `CONSTANT_Long_info` structure at the given index.
`int` | `getMethodrefClass(int index)` Reads the `class_index` field of the `CONSTANT_Methodref_info` structure at the given index.
`java.lang.String` | `getMethodrefClassName(int index)` Reads the `class_index` field of the `CONSTANT_Methodref_info` structure at the given index.
`java.lang.String` | `getMethodrefName(int index)` Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`int` | `getMethodrefNameAndType(int index)` Reads the `name_and_type_index` field of the `CONSTANT_Methodref_info` structure at the given index.
`java.lang.String` | `getMethodrefType(int index)` Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.
`int` | `getNameAndTypeDescriptor(int index)` Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure at the given index.
`int` | `getNameAndTypeName(int index)` Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure at the given index.
`java.lang.String` | `getStringInfo(int index)` Reads `CONSTANT_String_info` structure at the given index.
`int` | `getTag(int index)` Returns the `tag` field of the constant pool table entry at the given index.
`int` | `getThisClassInfo()` Returns the index of `CONSTANT_Class_info` structure specifying the class using this constant pool table.
`java.lang.String` | `getUtf8Info(int index)` Reads `CONSTANT_utf8_info` structure at the given index.
`int` | `isConstructor(java.lang.String classname, int index)` Determines whether `CONSTANT_Methodref_info` structure at the given index represents the constructor of the given class.
`int` | `isMember(java.lang.String classname, java.lang.String membername, int index)` Determines whether `CONSTANT_Methodref_info`, `CONSTANT_Fieldref_info`, or `CONSTANT_InterfaceMethodref_info` structure at the given index represents the member with the specified name and declaring class.
`void` | `print()` Prints the contents of the constant pool table.
`void` | `print(java.io.PrintWriter out)` Prints the contents of the constant pool table.
`void` | `renameClass(java.util.Map classnames)` Replaces all occurrences of class names.
`void` | `renameClass(java.lang.String oldName, java.lang.String newName)` Replaces all occurrences of a class name.
`void` | `write(java.io.DataOutputStream out)` Writes the contents of the constant pool table.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CONST_Class

    public static final int CONST_Class

  `CONSTANT_Class`

  See Also:
    Constant Field Values

### CONST_Fieldref

    public static final int CONST_Fieldref

  `CONSTANT_Fieldref`

  See Also:
    Constant Field Values

### CONST_Methodref

    public static final int CONST_Methodref

  `CONSTANT_Methodref`

  See Also:
    Constant Field Values

### CONST_InterfaceMethodref

    public static final int CONST_InterfaceMethodref

  `CONSTANT_InterfaceMethodref`

  See Also:
    Constant Field Values

### CONST_String

    public static final int CONST_String

  `CONSTANT_String`

  See Also:
    Constant Field Values

### CONST_Integer

    public static final int CONST_Integer

  `CONSTANT_Integer`

  See Also:
    Constant Field Values

### CONST_Float

    public static final int CONST_Float

  `CONSTANT_Float`

  See Also:
    Constant Field Values

### CONST_Long

    public static final int CONST_Long

  `CONSTANT_Long`

  See Also:
    Constant Field Values

### CONST_Double

    public static final int CONST_Double

  `CONSTANT_Double`

  See Also:
    Constant Field Values

### CONST_NameAndType

    public static final int CONST_NameAndType

  `CONSTANT_NameAndType`

  See Also:
    Constant Field Values

### CONST_Utf8

    public static final int CONST_Utf8

  `CONSTANT_Utf8`

  See Also:
    Constant Field Values

### THIS

    public static final CtClass THIS

  Represents the class using this constant pool table.

Constructor Detail

### ConstPool

    public ConstPool(java.lang.String thisclass)

  Constructs a constant pool table.

Parameters:
  `thisclass` - the name of the class using this constant pool table

### ConstPool

    public ConstPool(java.io.DataInputStream in)
              throws java.io.IOException

  Constructs a constant pool table from the given byte stream.

Parameters:
  `in` - byte stream.

Method Detail

### getClassName

    public java.lang.String getClassName()

  Returns the name of the class using this constant pool table.

### getThisClassInfo

    public int getThisClassInfo()

  Returns the index of `CONSTANT_Class_info` structure specifying the class using this constant pool table.

### getTag

    public int getTag(int index)

  Returns the `tag` field of the constant pool table entry at the given index.

### getClassInfo

    public java.lang.String getClassInfo(int index)

  Reads `CONSTANT_Class_info` structure at the given index.

  Returns:
    a fully-qualified class or interface name specified by `name_index`.

### getNameAndTypeName

    public int getNameAndTypeName(int index)

  Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure at the given index.

### getNameAndTypeDescriptor

    public int getNameAndTypeDescriptor(int index)

  Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure at the given index.

### getFieldrefClass

    public int getFieldrefClass(int index)

  Reads the `class_index` field of the `CONSTANT_Fieldref_info` structure at the given index.

### getFieldrefClassName

    public java.lang.String getFieldrefClassName(int index)

  Reads the `class_index` field of the `CONSTANT_Fieldref_info` structure at the given index.

  Returns:
    the name of the class at that `class_index`.

### getFieldrefNameAndType

    public int getFieldrefNameAndType(int index)

  Reads the `name_and_type_index` field of the `CONSTANT_Fieldref_info` structure at the given index.

### getFieldrefName

    public java.lang.String getFieldrefName(int index)

  Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_Fieldref_info`.
  Returns:
    the name of the field.

### getFieldrefType

    public java.lang.String getFieldrefType(int index)

  Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_Fieldref_info`.
  Returns:
    the type descriptor of the field.

### getMethodrefClass

    public int getMethodrefClass(int index)

  Reads the `class_index` field of the `CONSTANT_Methodref_info` structure at the given index.

### getMethodrefClassName

    public java.lang.String getMethodrefClassName(int index)

  Reads the `class_index` field of the `CONSTANT_Methodref_info` structure at the given index.

  Returns:
    the name of the class at that `class_index`.

### getMethodrefNameAndType

    public int getMethodrefNameAndType(int index)

  Reads the `name_and_type_index` field of the `CONSTANT_Methodref_info` structure at the given index.

### getMethodrefName

    public java.lang.String getMethodrefName(int index)

  Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_Methodref_info`.
  Returns:
    the name of the method.

### getMethodrefType

    public java.lang.String getMethodrefType(int index)

  Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_Methodref_info`.
  Returns:
    the descriptor of the method.

### getInterfaceMethodrefClass

    public int getInterfaceMethodrefClass(int index)

  Reads the `class_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.

### getInterfaceMethodrefClassName

    public java.lang.String getInterfaceMethodrefClassName(int index)

  Reads the `class_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.

  Returns:
    the name of the class at that `class_index`.

### getInterfaceMethodrefNameAndType

    public int getInterfaceMethodrefNameAndType(int index)

  Reads the `name_and_type_index` field of the `CONSTANT_InterfaceMethodref_info` structure at the given index.

### getInterfaceMethodrefName

    public java.lang.String getInterfaceMethodrefName(int index)

  Reads the `name_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_InterfaceMethodref_info`.
  Returns:
    the name of the method.

### getInterfaceMethodrefType

    public java.lang.String getInterfaceMethodrefType(int index)

  Reads the `descriptor_index` field of the `CONSTANT_NameAndType_info` structure indirectly specified by the given index.

  Parameters:
    `index` - an index to a `CONSTANT_InterfaceMethodref_info`.
  Returns:
    the descriptor of the method.

### getLdcValue

    public java.lang.Object getLdcValue(int index)

  Reads `CONSTANT_Integer_info`, `_Float_info`, `_Long_info`, `_Double_info`, or `_String_info` structure. These are used with the LDC instruction.

  Returns:
    a `String` value or a wrapped primitive-type value.

### getIntegerInfo

    public int getIntegerInfo(int index)

  Reads `CONSTANT_Integer_info` structure at the given index.

  Returns:
    the value specified by this entry.

### getFloatInfo

    public float getFloatInfo(int index)

  Reads `CONSTANT_Float_info` structure at the given index.

  Returns:
    the value specified by this entry.

### getLongInfo

    public long getLongInfo(int index)

  Reads `CONSTANT_Long_info` structure at the given index.

  Returns:
    the value specified by this entry.

### getDoubleInfo

    public double getDoubleInfo(int index)

  Reads `CONSTANT_Double_info` structure at the given index.

  Returns:
    the value specified by this entry.

### getStringInfo

    public java.lang.String getStringInfo(int index)

  Reads `CONSTANT_String_info` structure at the given index.

  Returns:
    the string specified by `string_index`.

### getUtf8Info

    public java.lang.String getUtf8Info(int index)

  Reads `CONSTANT_utf8_info` structure at the given index.

  Returns:
    the string specified by this entry.

### isConstructor

    public int isConstructor(java.lang.String classname,
                             int index)

  Determines whether `CONSTANT_Methodref_info` structure at the given index represents the constructor of the given class.

  Returns:
    the `descriptor_index` specifying the type descriptor of the that constructor. If it is not that constructor, `isConstructor()` returns 0.

### isMember

    public int isMember(java.lang.String classname,
                        java.lang.String membername,
                        int index)

  Determines whether `CONSTANT_Methodref_info`, `CONSTANT_Fieldref_info`, or `CONSTANT_InterfaceMethodref_info` structure at the given index represents the member with the specified name and declaring class.

  Parameters:
    `classname` - the class declaring the member
    `membername` - the member name
    `index` - the index into the constant pool table
  Returns:
    the `descriptor_index` specifying the type descriptor of that member. If it is not that member, `isMember()` returns 0.

### copy

    public int copy(int n,
                    ConstPool dest,
                    java.util.Map classnames)

  Copies the n-th item in this ConstPool object into the destination ConstPool object. The class names that the item refers to are renamed according to the given map.

  Parameters:
    `n` - the n-th item
    `dest` - destination constant pool table
    `classnames` - the map or null.

### addClassInfo

    public int addClassInfo(CtClass c)

  Adds a new `CONSTANT_Class_info` structure.

  This also adds a `CONSTANT_Utf8_info` structure for storing the class name.

  Returns:
    the index of the added entry.

### addClassInfo

    public int addClassInfo(java.lang.String qname)

  Adds a new `CONSTANT_Class_info` structure.

  This also adds a `CONSTANT_Utf8_info` structure for storing the class name.

  Parameters:
    `qname` - a fully-qualified class name (or the JVM-internal representation of that name).
  Returns:
    the index of the added entry.

### addNameAndTypeInfo

    public int addNameAndTypeInfo(java.lang.String name,
                                  java.lang.String type)

  Adds a new `CONSTANT_NameAndType_info` structure.

  This also adds `CONSTANT_Utf8_info` structures.

  Parameters:
    `name` - `name_index`
    `type` - `descriptor_index`
  Returns:
    the index of the added entry.

### addNameAndTypeInfo

    public int addNameAndTypeInfo(int name,
                                  int type)

  Adds a new `CONSTANT_NameAndType_info` structure.

  Parameters:
    `name` - `name_index`
    `type` - `descriptor_index`
  Returns:
    the index of the added entry.

### addFieldrefInfo

    public int addFieldrefInfo(int classInfo,
                               java.lang.String name,
                               java.lang.String type)

  Adds a new `CONSTANT_Fieldref_info` structure.

  This also adds a new `CONSTANT_NameAndType_info` structure.

  Parameters:
    `classInfo` - `class_index`
    `name` - `name_index` of `CONSTANT_NameAndType_info`.
    `type` - `descriptor_index` of `CONSTANT_NameAndType_info`.
  Returns:
    the index of the added entry.

### addFieldrefInfo

    public int addFieldrefInfo(int classInfo,
                               int nameAndTypeInfo)

  Adds a new `CONSTANT_Fieldref_info` structure.

  Parameters:
    `classInfo` - `class_index`
  Returns:
    the index of the added entry.

### addMethodrefInfo

    public int addMethodrefInfo(int classInfo,
                                java.lang.String name,
                                java.lang.String type)

  Adds a new `CONSTANT_Methodref_info` structure.

  This also adds a new `CONSTANT_NameAndType_info` structure.

  Parameters:
    `classInfo` - `class_index`
    `name` - `name_index` of `CONSTANT_NameAndType_info`.
    `type` - `descriptor_index` of `CONSTANT_NameAndType_info`.
  Returns:
    the index of the added entry.

### addMethodrefInfo

    public int addMethodrefInfo(int classInfo,
                                int nameAndTypeInfo)

  Adds a new `CONSTANT_Methodref_info` structure.

  Parameters:
    `classInfo` - `class_index`
  Returns:
    the index of the added entry.

### addInterfaceMethodrefInfo

    public int addInterfaceMethodrefInfo(int classInfo,
                                         java.lang.String name,
                                         java.lang.String type)

  Adds a new `CONSTANT_InterfaceMethodref_info` structure.

  This also adds a new `CONSTANT_NameAndType_info` structure.

  Parameters:
    `classInfo` - `class_index`
    `name` - `name_index` of `CONSTANT_NameAndType_info`.
    `type` - `descriptor_index` of `CONSTANT_NameAndType_info`.
  Returns:
    the index of the added entry.

### addInterfaceMethodrefInfo

    public int addInterfaceMethodrefInfo(int classInfo,
                                         int nameAndTypeInfo)

  Adds a new `CONSTANT_InterfaceMethodref_info` structure.

  Parameters:
    `classInfo` - `class_index`
  Returns:
    the index of the added entry.

### addStringInfo

    public int addStringInfo(java.lang.String str)

  Adds a new `CONSTANT_String_info` structure.

  This also adds a new `CONSTANT_Utf8_info` structure.

  Returns:
    the index of the added entry.

### addIntegerInfo

    public int addIntegerInfo(int i)

  Adds a new `CONSTANT_Integer_info` structure.

  Returns:
    the index of the added entry.

### addFloatInfo

    public int addFloatInfo(float f)

  Adds a new `CONSTANT_Float_info` structure.

  Returns:
    the index of the added entry.

### addLongInfo

    public int addLongInfo(long l)

  Adds a new `CONSTANT_Long_info` structure.

  Returns:
    the index of the added entry.

### addDoubleInfo

    public int addDoubleInfo(double d)

  Adds a new `CONSTANT_Double_info` structure.

  Returns:
    the index of the added entry.

### addUtf8Info

    public int addUtf8Info(java.lang.String utf8)

  Adds a new `CONSTANT_Utf8_info` structure.

  If the given utf8 string has been already recorded in the table, then this method does not add a new entry to avoid adding a duplicated entry. Instead, it returns the index of the entry already recorded.

  Returns:
    the index of the added entry.

### renameClass

    public void renameClass(java.lang.String oldName,
                            java.lang.String newName)

  Replaces all occurrences of a class name.

  Parameters:
    `oldName` - the replaced name
    `newName` - the substituted name.

### renameClass

    public void renameClass(java.util.Map classnames)

  Replaces all occurrences of class names.

  Parameters:
    `classnames` - specifies pairs of replaced and substituted name.

### write

    public void write(java.io.DataOutputStream out)
               throws java.io.IOException

  Writes the contents of the constant pool table.

    `java.io.IOException`

### print

    public void print()

  Prints the contents of the constant pool table.

### print

    public void print(java.io.PrintWriter out)

  Prints the contents of the constant pool table.

Overview | Package | Class | Use | Tree | Deprecated | Index
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Javassist, a Java-bytecode translator toolkit. Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved.