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 class
ConstPool.MemberInfo
private static class
ConstPool.NameAndType
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.lang.Short>
classLocations
private short
constPoolSize
The constant_pool_count field of the class file formatprivate short
count
private java.util.Map<java.lang.Double,java.lang.Short>
doubleLocations
private java.util.LinkedHashMap<java.lang.Short,ConstPoolEntry>
entries
private java.util.Map<ConstPool.MemberInfo,java.lang.Short>
fieldLocations
private java.util.Map<java.lang.Float,java.lang.Short>
floatLocations
private java.util.Map<java.lang.Integer,java.lang.Short>
integerLocations
private java.util.Map<ConstPool.MemberInfo,java.lang.Short>
interfaceMethodLocations
private java.util.Map<java.lang.Long,java.lang.Short>
longLocations
private java.util.Map<ConstPool.MemberInfo,java.lang.Short>
methodLocations
private java.util.Map<ConstPool.NameAndType,java.lang.Short>
nameAndTypeLocations
private java.util.Map<java.lang.String,java.lang.Short>
stringLocations
private 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 short
addClassEntry(java.lang.String className)
Adds a CONSTANT_Class_info to the const pool.short
addDoubleEntry(double entry)
short
addFieldEntry(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
short
addFloatEntry(float entry)
short
addIntegerEntry(int entry)
short
addInterfaceMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
short
addLongEntry(long entry)
short
addMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
short
addNameAndTypeEntry(java.lang.String name, java.lang.String type)
short
addStringEntry(java.lang.String string)
Adds a CONSTANT_String_info to the const pool.short
addUtf8Entry(java.lang.String entry)
void
write(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:
write
in interfaceWritableEntry
- Throws:
java.io.IOException
-
-