Class ConstPool
- java.lang.Object
-
- org.jboss.classfilewriter.constpool.ConstPool
-
- All Implemented Interfaces:
WritableEntry
public class ConstPool extends java.lang.Object implements WritableEntry
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classConstPool.MemberInfoprivate static classConstPool.NameAndType
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.lang.Short>classLocationsprivate shortconstPoolSizeThe constant_pool_count field of the class file formatprivate shortcountprivate java.util.Map<java.lang.Double,java.lang.Short>doubleLocationsprivate java.util.LinkedHashMap<java.lang.Short,ConstPoolEntry>entriesprivate java.util.Map<ConstPool.MemberInfo,java.lang.Short>fieldLocationsprivate java.util.Map<java.lang.Float,java.lang.Short>floatLocationsprivate java.util.Map<java.lang.Integer,java.lang.Short>integerLocationsprivate java.util.Map<ConstPool.MemberInfo,java.lang.Short>interfaceMethodLocationsprivate java.util.Map<java.lang.Long,java.lang.Short>longLocationsprivate java.util.Map<ConstPool.MemberInfo,java.lang.Short>methodLocationsprivate java.util.Map<ConstPool.NameAndType,java.lang.Short>nameAndTypeLocationsprivate java.util.Map<java.lang.String,java.lang.Short>stringLocationsprivate java.util.Map<java.lang.String,java.lang.Short>utf8Locations
-
Constructor Summary
Constructors Constructor Description ConstPool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description shortaddClassEntry(java.lang.String className)Adds a CONSTANT_Class_info to the const pool.shortaddDoubleEntry(double entry)shortaddFieldEntry(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)shortaddFloatEntry(float entry)shortaddIntegerEntry(int entry)shortaddInterfaceMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)shortaddLongEntry(long entry)shortaddMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)shortaddNameAndTypeEntry(java.lang.String name, java.lang.String type)shortaddStringEntry(java.lang.String string)Adds a CONSTANT_String_info to the const pool.shortaddUtf8Entry(java.lang.String entry)voidwrite(ByteArrayDataOutputStream stream)
-
-
-
Field Detail
-
entries
private final java.util.LinkedHashMap<java.lang.Short,ConstPoolEntry> entries
-
utf8Locations
private final java.util.Map<java.lang.String,java.lang.Short> utf8Locations
-
classLocations
private final java.util.Map<java.lang.String,java.lang.Short> classLocations
-
stringLocations
private final java.util.Map<java.lang.String,java.lang.Short> stringLocations
-
nameAndTypeLocations
private final java.util.Map<ConstPool.NameAndType,java.lang.Short> nameAndTypeLocations
-
fieldLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> fieldLocations
-
methodLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> methodLocations
-
interfaceMethodLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> interfaceMethodLocations
-
integerLocations
private final java.util.Map<java.lang.Integer,java.lang.Short> integerLocations
-
floatLocations
private final java.util.Map<java.lang.Float,java.lang.Short> floatLocations
-
longLocations
private final java.util.Map<java.lang.Long,java.lang.Short> longLocations
-
doubleLocations
private final java.util.Map<java.lang.Double,java.lang.Short> doubleLocations
-
count
private short count
-
constPoolSize
private short constPoolSize
The constant_pool_count field of the class file format
-
-
Method Detail
-
addUtf8Entry
public short addUtf8Entry(java.lang.String entry)
-
addClassEntry
public short addClassEntry(java.lang.String className)
Adds a CONSTANT_Class_info to the const pool. This must be in internal form
-
addStringEntry
public short addStringEntry(java.lang.String string)
Adds a CONSTANT_String_info to the const pool.
-
addIntegerEntry
public short addIntegerEntry(int entry)
-
addFloatEntry
public short addFloatEntry(float entry)
-
addLongEntry
public short addLongEntry(long entry)
-
addDoubleEntry
public short addDoubleEntry(double entry)
-
addNameAndTypeEntry
public short addNameAndTypeEntry(java.lang.String name, java.lang.String type)
-
addFieldEntry
public short addFieldEntry(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
-
addMethodEntry
public short addMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
-
addInterfaceMethodEntry
public short addInterfaceMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
-
write
public void write(ByteArrayDataOutputStream stream) throws java.io.IOException
- Specified by:
writein interfaceWritableEntry- Throws:
java.io.IOException
-
-