Package org.apache.bcel.classfile
Class Constant
- java.lang.Object
 - 
- org.apache.bcel.classfile.Constant
 
 
- 
- All Implemented Interfaces:
 java.lang.Cloneable,Node
- Direct Known Subclasses:
 ConstantClass,ConstantCP,ConstantDouble,ConstantFloat,ConstantInteger,ConstantLong,ConstantMethodHandle,ConstantMethodType,ConstantModule,ConstantNameAndType,ConstantPackage,ConstantString,ConstantUtf8
public abstract class Constant extends java.lang.Object implements java.lang.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.java.lang.Objectclone()Constantcopy()abstract voiddump(java.io.DataOutputStream file)booleanequals(java.lang.Object obj)Returns value as defined by given BCELComparator strategy.static BCELComparatorgetComparator()bytegetTag()inthashCode()Returns value as defined by given BCELComparator strategy.static ConstantreadConstant(java.io.DataInput dataInput)Reads one constant from the given input, the type depends on a tag byte.static voidsetComparator(BCELComparator comparator)java.lang.StringtoString() 
 - 
 
- 
- 
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(java.io.DataOutputStream file) throws java.io.IOException- Throws:
 java.io.IOException
 
- 
getTag
public final byte getTag()
- Returns:
 - Tag of constant, i.e., its type. No setTag() method to avoid confusion.
 
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object- Returns:
 - String representation.
 
 
- 
copy
public Constant copy()
- Returns:
 - deep copy of this constant
 
 
- 
clone
public java.lang.Object clone()
- Overrides:
 clonein classjava.lang.Object
 
- 
readConstant
public static Constant readConstant(java.io.DataInput dataInput) throws java.io.IOException, ClassFormatException
Reads one constant from the given input, the type depends on a tag byte.- Parameters:
 dataInput- Input stream- Returns:
 - Constant object
 - Throws:
 java.io.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(java.lang.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 classjava.lang.Object- 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 classjava.lang.Object- See Also:
 Object.hashCode()
 
 - 
 
 -