Package org.apache.bcel.classfile
Class Field
- java.lang.Object
-
- org.apache.bcel.classfile.AccessFlags
-
- org.apache.bcel.classfile.FieldOrMethod
-
- org.apache.bcel.classfile.Field
-
- All Implemented Interfaces:
java.lang.Cloneable
,Node
public final class Field extends FieldOrMethod
This class represents the field info structure, i.e., the representation for a variable in the class. See JVM specification for details.
-
-
Field Summary
Fields Modifier and Type Field Description private static BCELComparator<Field>
bcelComparator
static Field[]
EMPTY_ARRAY
Empty array constant.(package private) static Field[]
EMPTY_FIELD_ARRAY
Empty array.-
Fields inherited from class org.apache.bcel.classfile.FieldOrMethod
attributes, attributes_count, constant_pool, name_index, signature_index
-
Fields inherited from class org.apache.bcel.classfile.AccessFlags
access_flags
-
-
Constructor Summary
Constructors Constructor Description Field(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)
Field(java.io.DataInput file, ConstantPool constantPool)
Constructs object from file stream.Field(Field c)
Initialize from another object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Field
copy(ConstantPool constantPool)
boolean
equals(java.lang.Object obj)
Return value as defined by given BCELComparator strategy.static BCELComparator<Field>
getComparator()
ConstantValue
getConstantValue()
Type
getType()
See https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.2.2int
hashCode()
Return value as defined by given BCELComparator strategy.static void
setComparator(BCELComparator<Field> comparator)
java.lang.String
toString()
Return string representation close to declaration format, 'public static final short MAX = 100', e.g..-
Methods inherited from class org.apache.bcel.classfile.FieldOrMethod
copy_, dump, getAnnotationEntries, getAttributes, getConstantPool, getGenericSignature, getName, getNameIndex, getSignature, getSignatureIndex, setAttributes, setConstantPool, setNameIndex, setSignatureIndex
-
Methods inherited from class org.apache.bcel.classfile.AccessFlags
getAccessFlags, getModifiers, isAbstract, isAbstract, isAnnotation, isAnnotation, isEnum, isEnum, isFinal, isFinal, isInterface, isInterface, isNative, isNative, isPrivate, isPrivate, isProtected, isProtected, isPublic, isPublic, isStatic, isStatic, isStrictfp, isStrictfp, isSynchronized, isSynchronized, isSynthetic, isSynthetic, isTransient, isTransient, isVarArgs, isVarArgs, isVolatile, isVolatile, setAccessFlags, setModifiers
-
-
-
-
Field Detail
-
EMPTY_ARRAY
public static final Field[] EMPTY_ARRAY
Empty array constant.- Since:
- 6.6.0
-
bcelComparator
private static BCELComparator<Field> bcelComparator
-
EMPTY_FIELD_ARRAY
static final Field[] EMPTY_FIELD_ARRAY
Empty array.
-
-
Constructor Detail
-
Field
Field(java.io.DataInput file, ConstantPool constantPool) throws java.io.IOException, ClassFormatException
Constructs object from file stream.- Parameters:
file
- Input stream.- Throws:
java.io.IOException
ClassFormatException
-
Field
public Field(Field c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.- Parameters:
c
- Source to copy.
-
Field
public Field(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)
- Parameters:
accessFlags
- Access rights of fieldnameIndex
- Points to field name in constant poolsignatureIndex
- Points to encoded signatureattributes
- Collection of attributesconstantPool
- Array of constants
-
-
Method Detail
-
getComparator
public static BCELComparator<Field> getComparator()
- Returns:
- Comparison strategy object.
-
setComparator
public static void setComparator(BCELComparator<Field> comparator)
- Parameters:
comparator
- Comparison strategy object.
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.- Parameters:
v
- Visitor object
-
copy
public Field copy(ConstantPool constantPool)
- Returns:
- deep copy of this field
-
equals
public boolean equals(java.lang.Object obj)
Return value as defined by given BCELComparator strategy. By default two Field objects are said to be equal when their names and signatures are equal.- Overrides:
equals
in classjava.lang.Object
- See Also:
Object.equals(Object)
-
getConstantValue
public ConstantValue getConstantValue()
- Returns:
- constant value associated with this field (may be null)
-
getType
public Type getType()
See https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.2.2- Returns:
- type of field
-
hashCode
public int hashCode()
Return value as defined by given BCELComparator strategy. By default return the hash code of the field's name XOR signature.- Overrides:
hashCode
in classjava.lang.Object
- See Also:
Object.hashCode()
-
toString
public java.lang.String toString()
Return string representation close to declaration format, 'public static final short MAX = 100', e.g..- Overrides:
toString
in classjava.lang.Object
- Returns:
- String representation of field, including the signature.
-
-