|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.iapi.services.classfile.ClassHolder
Based upon "THE class FILE FORMAT" chapter of "The Java Virtual Machine Specification" corresponding to version 1.0.2 of the Java Virtual Machine and 1.0.2 of the Java Language Specification. ISBN 0-201-63452-X, September 1996.
Field Summary | |
protected int |
access_flags
|
protected Attributes |
attribute_info
|
protected java.util.Vector |
cptEntries
|
private int |
cptEstimatedSize
|
protected java.util.Hashtable |
cptHashTable
|
protected MemberTable |
field_info
|
protected int[] |
interfaces
|
protected MemberTable |
method_info
|
private CONSTANT_Index_info |
searchIndex
Used to search for index entries to avoid object allocation in the case a referecne already exists. |
protected int |
super_class
|
protected int |
this_class
|
Constructor Summary | |
protected |
ClassHolder(int estimatedConstantPoolCount)
|
|
ClassHolder(java.lang.String fullyQualifiedName,
java.lang.String superClassName,
int modifiers)
This will not define a constructor -- it is up to the caller to add at least one. |
Method Summary | |
void |
addAttribute(java.lang.String attributeName,
ClassFormatOutput info)
|
int |
addClassReference(java.lang.String fullyQualifiedName)
Add a class entry to the pool. |
private int |
addCodeUtf8(java.lang.String value)
Add a string entry |
int |
addConstant(double value)
|
int |
addConstant(float value)
|
int |
addConstant(int value)
|
int |
addConstant(long value)
|
int |
addConstant(java.lang.String value)
|
private int |
addDirectEntry(ConstantPoolEntry item)
Add an entry, but only if it doesn't exist. |
protected int |
addEntry(java.lang.Object key,
ConstantPoolEntry item)
Generic add entry to constant pool. |
private CONSTANT_Utf8_info |
addExtraUtf8(java.lang.String value)
Add an extra UTF8 into the pool |
int |
addFieldReference(ClassMember field)
|
int |
addFieldReference(java.lang.String className,
java.lang.String simpleName,
java.lang.String descriptor)
|
private int |
addIndexReference(int tag,
int i1,
int i2)
Add an index reference. |
ClassMember |
addMember(java.lang.String simpleName,
java.lang.String descriptor,
int modifier)
|
int |
addMethodReference(java.lang.String className,
java.lang.String simpleName,
java.lang.String descriptor,
boolean isInterface)
|
private int |
addNameAndType(java.lang.String name,
java.lang.String descriptor)
Add a name and type entry |
private int |
addReference(int tag,
ClassMember member)
|
private int |
addReference(int tag,
java.lang.String className,
java.lang.String simpleName,
java.lang.String descriptor)
|
private int |
addString(java.lang.String value)
Add a string entry |
int |
addUtf8(java.lang.String value)
|
private CONSTANT_Utf8_info |
addUtf8Entry(java.lang.String value)
Add a UTF8 into the pool and return the index to it. |
protected java.lang.String |
className(int classIndex)
Return the class name for an index to a CONSTANT_Class_info. |
private static java.lang.String |
convertToInternal(java.lang.String externalName,
boolean descriptor)
|
static java.lang.String |
convertToInternalClassName(java.lang.String externalName)
|
static java.lang.String |
convertToInternalDescriptor(java.lang.String externalName)
|
protected void |
cptPut(ClassFormatOutput out)
|
int |
findClass(java.lang.String fullyQualifiedName)
Find a class descriptor (section 4.4.1) and return its index, returns -1 if not found. |
protected CONSTANT_Index_info |
findIndexEntry(int tag,
int i1,
int i2)
|
protected int |
findIndexIndex(int tag,
int i1,
int i2)
|
protected ConstantPoolEntry |
findMatchingEntry(java.lang.Object key)
|
int |
findNameAndType(java.lang.String name,
java.lang.String descriptor)
Find a name and type descriptor (section 4.4.6) and return ita index. returns -1 if not found. |
(package private) int |
findUtf8(java.lang.String value)
Return the index of a UTF entry or -1 if it doesn't exist. |
protected java.lang.String |
getClassName(int index)
get the class name of a Class given the index of its CONSTANT_Class_info entry in the Constant Pool. |
int |
getConstantPoolIndex()
|
(package private) ConstantPoolEntry |
getEntry(int index)
|
ByteArray |
getFileFormat()
|
int |
getModifier()
|
java.lang.String |
getName()
|
java.lang.String |
getSuperClassName()
|
static boolean |
isExternalClassName(java.lang.String className)
|
private static java.lang.String |
makeDesc(char builtin,
int arity)
A helper to build a type description based on a built-in type and an array arity. |
private static java.lang.String |
makeDesc(java.lang.String className,
int arity,
boolean descriptor)
A helper to build a type description based on a Java class and an array arity. |
(package private) java.lang.String |
nameIndexToString(int index)
get a string (UTF) given a name_index into the constant pool |
void |
put(ClassFormatOutput out)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected int access_flags
protected int this_class
protected int super_class
protected int[] interfaces
protected MemberTable field_info
protected MemberTable method_info
protected Attributes attribute_info
protected java.util.Hashtable cptHashTable
protected java.util.Vector cptEntries
private int cptEstimatedSize
private final CONSTANT_Index_info searchIndex
Constructor Detail |
protected ClassHolder(int estimatedConstantPoolCount)
public ClassHolder(java.lang.String fullyQualifiedName, java.lang.String superClassName, int modifiers)
Method Detail |
public void put(ClassFormatOutput out) throws java.io.IOException
java.io.IOException
public ByteArray getFileFormat()
public int getModifier()
ClassMember
public java.lang.String getName()
ClassMember
public ClassMember addMember(java.lang.String simpleName, java.lang.String descriptor, int modifier)
addMember(java.lang.String, java.lang.String, int)
public int addFieldReference(java.lang.String className, java.lang.String simpleName, java.lang.String descriptor)
addFieldReference(java.lang.String, java.lang.String, java.lang.String)
public int addFieldReference(ClassMember field)
public int addMethodReference(java.lang.String className, java.lang.String simpleName, java.lang.String descriptor, boolean isInterface)
addMethodReference(java.lang.String, java.lang.String, java.lang.String, boolean)
private int addReference(int tag, java.lang.String className, java.lang.String simpleName, java.lang.String descriptor)
private int addReference(int tag, ClassMember member)
public int addConstant(java.lang.String value)
addConstant(java.lang.String)
public int addUtf8(java.lang.String value)
addUtf8(java.lang.String)
public int addConstant(int value)
ClassHolder#addInteger
public int addConstant(float value)
ClassHolder#addFloat
public int addConstant(long value)
ClassHolder#addLong
public int addConstant(double value)
ClassHolder#addDouble
public int getConstantPoolIndex()
ClassMember
public void addAttribute(java.lang.String attributeName, ClassFormatOutput info)
public java.lang.String getSuperClassName()
protected int addEntry(java.lang.Object key, ConstantPoolEntry item)
private int addDirectEntry(ConstantPoolEntry item)
private int addIndexReference(int tag, int i1, int i2)
public int addClassReference(java.lang.String fullyQualifiedName)
private int addNameAndType(java.lang.String name, java.lang.String descriptor)
private CONSTANT_Utf8_info addUtf8Entry(java.lang.String value)
private CONSTANT_Utf8_info addExtraUtf8(java.lang.String value)
private int addString(java.lang.String value)
private int addCodeUtf8(java.lang.String value)
protected void cptPut(ClassFormatOutput out) throws java.io.IOException
java.io.IOException
ConstantPoolEntry getEntry(int index)
protected java.lang.String className(int classIndex)
int findUtf8(java.lang.String value)
public int findClass(java.lang.String fullyQualifiedName)
public int findNameAndType(java.lang.String name, java.lang.String descriptor)
protected CONSTANT_Index_info findIndexEntry(int tag, int i1, int i2)
protected int findIndexIndex(int tag, int i1, int i2)
protected ConstantPoolEntry findMatchingEntry(java.lang.Object key)
java.lang.String nameIndexToString(int index)
protected java.lang.String getClassName(int index)
public static boolean isExternalClassName(java.lang.String className)
public static java.lang.String convertToInternalClassName(java.lang.String externalName)
public static java.lang.String convertToInternalDescriptor(java.lang.String externalName)
private static java.lang.String convertToInternal(java.lang.String externalName, boolean descriptor)
private static java.lang.String makeDesc(char builtin, int arity)
private static java.lang.String makeDesc(java.lang.String className, int arity, boolean descriptor)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |