Package org.apache.bcel.classfile
Class Constant
- java.lang.Object
-
- org.apache.bcel.classfile.Constant
-
- Direct Known Subclasses:
ConstantClass,ConstantCP,ConstantDouble,ConstantFloat,ConstantInteger,ConstantLong,ConstantMethodHandle,ConstantMethodType,ConstantModule,ConstantNameAndType,ConstantPackage,ConstantString,ConstantUtf8
public abstract class Constant extends Object implements Cloneable, Node
Abstract superclass for classes to represent the different constant types in the constant pool of a class file. The classes keep closely to the JVM specification.
-
-
Field Summary
Fields Modifier and Type Field Description protected bytetagDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.Objectclone()Constantcopy()abstract voiddump(DataOutputStream file)booleanequals(Object obj)Returns value as defined by given BCELComparator strategy.static BCELComparatorgetComparator()bytegetTag()inthashCode()Returns value as defined by given BCELComparator strategy.static ConstantreadConstant(DataInput dataInput)Reads one constant from the given input, the type depends on a tag byte.static voidsetComparator(BCELComparator comparator)StringtoString()
-
-
-
Field Detail
-
tag
@Deprecated protected byte tag
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter
-
-
Method Detail
-
accept
public abstract void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
dump
public abstract void dump(DataOutputStream file) throws IOException
- Throws:
IOException
-
getTag
public final byte getTag()
- Returns:
- Tag of constant, i.e., its type. No setTag() method to avoid confusion.
-
toString
public String toString()
-
copy
public Constant copy()
- Returns:
- deep copy of this constant
-
readConstant
public static Constant readConstant(DataInput dataInput) throws IOException, ClassFormatException
Reads one constant from the given input, the type depends on a tag byte.- Parameters:
dataInput- Input stream- Returns:
- Constant object
- Throws:
IOException- if an I/O error occurs reading from the givendataInput.ClassFormatException- if the next byte is not recognized- Since:
- 6.0 made public
-
getComparator
public static BCELComparator getComparator()
- Returns:
- Comparison strategy object
-
setComparator
public static void setComparator(BCELComparator comparator)
- Parameters:
comparator- Comparison strategy object
-
equals
public boolean equals(Object obj)
Returns value as defined by given BCELComparator strategy. By default two Constant objects are said to be equal when the result of toString() is equal.- Overrides:
equalsin classObject- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
Returns value as defined by given BCELComparator strategy. By default return the hashcode of the result of toString().- Overrides:
hashCodein classObject- See Also:
Object.hashCode()
-
-