public abstract class ElementValue extends AbstractStructure
Modifier and Type | Field and Description |
---|---|
static char |
ANNOTATION_TAG |
static java.lang.String |
ANNOTATION_TAG_VERBOSE |
static char |
ARRAY_TAG |
static java.lang.String |
ARRAY_TAG_VERBOSE |
static char |
BOOL_TAG |
static java.lang.String |
BOOL_TAG_VERBOSE |
static char |
BYTE_TAG |
static java.lang.String |
BYTE_TAG_VERBOSE |
static char |
CHAR_TAG |
static java.lang.String |
CHAR_TAG_VERBOSE |
static char |
CLASS_TAG |
static java.lang.String |
CLASS_TAG_VERBOSE |
static char |
DOUBLE_TAG |
static java.lang.String |
DOUBLE_TAG_VERBOSE |
static char |
ENUM_TAG |
static java.lang.String |
ENUM_TAG_VERBOSE |
static char |
FLOAT_TAG |
static java.lang.String |
FLOAT_TAG_VERBOSE |
protected static int |
INITIAL_LENGTH |
static char |
INT_TAG |
static java.lang.String |
INT_TAG_VERBOSE |
static char |
LONG_TAG |
static java.lang.String |
LONG_TAG_VERBOSE |
static char |
SHORT_TAG |
static java.lang.String |
SHORT_TAG_VERBOSE |
static char |
STRING_TAG |
static java.lang.String |
STRING_TAG_VERBOSE |
classFile, debug, SYSTEM_PROPERTY_DEBUG
Constructor and Description |
---|
ElementValue(int tag) |
Modifier and Type | Method and Description |
---|---|
static ElementValue |
create(java.io.DataInput in,
ClassFile classFile)
Factory for creating ElementValue structures.
|
abstract java.lang.String |
getEntryName() |
int |
getLength() |
protected abstract int |
getSpecificLength() |
int |
getTag() |
static java.lang.String |
getTagDescription(int tag) |
protected java.lang.String |
printAccessFlagsVerbose(int accessFlags)
Utility method for derived structures.
|
void |
write(java.io.DataOutput out)
Write this structure to the given DataOutput.
|
debug, getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, read, setClassFile, setDebug
public static final char BYTE_TAG
public static final char CHAR_TAG
public static final char DOUBLE_TAG
public static final char FLOAT_TAG
public static final char INT_TAG
public static final char LONG_TAG
public static final char SHORT_TAG
public static final char BOOL_TAG
public static final char STRING_TAG
public static final char ENUM_TAG
public static final char CLASS_TAG
public static final char ARRAY_TAG
public static final char ANNOTATION_TAG
public static final java.lang.String BYTE_TAG_VERBOSE
public static final java.lang.String CHAR_TAG_VERBOSE
public static final java.lang.String DOUBLE_TAG_VERBOSE
public static final java.lang.String FLOAT_TAG_VERBOSE
public static final java.lang.String INT_TAG_VERBOSE
public static final java.lang.String LONG_TAG_VERBOSE
public static final java.lang.String SHORT_TAG_VERBOSE
public static final java.lang.String BOOL_TAG_VERBOSE
public static final java.lang.String STRING_TAG_VERBOSE
public static final java.lang.String ENUM_TAG_VERBOSE
public static final java.lang.String CLASS_TAG_VERBOSE
public static final java.lang.String ARRAY_TAG_VERBOSE
public static final java.lang.String ANNOTATION_TAG_VERBOSE
protected static final int INITIAL_LENGTH
public static ElementValue create(java.io.DataInput in, ClassFile classFile) throws InvalidByteCodeException, java.io.IOException
in
- the DataInput from which to read the
ElementValue structureclassFile
- the parent class file of the structure to be createdInvalidByteCodeException
- if the byte code is invalidjava.io.IOException
- if an exception occurs with the DataInputpublic void write(java.io.DataOutput out) throws InvalidByteCodeException, java.io.IOException
AbstractStructure
The written bytes are in JVM class file format.
write
in class AbstractStructure
out
- the DataOutput to which to writeInvalidByteCodeException
- if the structure is internally inconsistentjava.io.IOException
- if an exception occurs with the DataOutputprotected abstract int getSpecificLength()
public final int getLength()
public abstract java.lang.String getEntryName()
protected java.lang.String printAccessFlagsVerbose(int accessFlags)
AbstractStructure
printAccessFlagsVerbose
in class AbstractStructure
accessFlags
- the unsigned short value to print as a hex stringpublic int getTag()
public static java.lang.String getTagDescription(int tag)