org.apache.bcel.classfile

Class Field

Implemented Interfaces:
Cloneable, Node, java.io.Serializable

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.
Version:
$Id: Field.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm
See Also:
Serialized Form

Field Summary

private static BCELComparator
_cmp

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

Field(DataInputStream file, ConstantPool constant_pool)
Construct object from file stream.
Field(int access_flags, int name_index, int signature_index, Attribute[] attributes, ConstantPool constant_pool)
Field(Field c)
Initialize from another object.

Method Summary

void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
Field
copy(ConstantPool _constant_pool)
boolean
equals(Object obj)
Return value as defined by given BCELComparator strategy.
static BCELComparator
getComparator()
ConstantValue
getConstantValue()
Type
getType()
int
hashCode()
Return value as defined by given BCELComparator strategy.
static void
setComparator(BCELComparator comparator)
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, getAttributes, getConstantPool, 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, isVolatile, isVolatile, setAccessFlags, setFlag, setModifiers

Field Details

_cmp

private static BCELComparator _cmp

Constructor Details

Field

(package private)  Field(DataInputStream file,
                         ConstantPool constant_pool)
            throws IOException,
                   ClassFormatException
Construct object from file stream.
Parameters:
file - Input stream

Field

public Field(int access_flags,
             int name_index,
             int signature_index,
             Attribute[] attributes,
             ConstantPool constant_pool)
Parameters:
access_flags - Access rights of field
name_index - Points to field name in constant pool
signature_index - Points to encoded signature
attributes - Collection of attributes
constant_pool - Array of constants

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.

Method Details

accept

public 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.
Specified by:
accept in interface Node
Parameters:
v - Visitor object

copy

public final Field copy(ConstantPool _constant_pool)
Returns:
deep copy of this field

equals

public boolean equals(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.
See Also:
java.lang.Object.equals(java.lang.Object)

getComparator

public static BCELComparator getComparator()
Returns:
Comparison strategy object

getConstantValue

public final ConstantValue getConstantValue()
Returns:
constant value associated with this field (may be null)

getType

public Type getType()
Returns:
type of field

hashCode

public int hashCode()
Return value as defined by given BCELComparator strategy. By default return the hashcode of the field's name XOR signature.
See Also:
java.lang.Object.hashCode()

setComparator

public static void setComparator(BCELComparator comparator)
Parameters:
comparator - Comparison strategy object

toString

public final String toString()
Return string representation close to declaration format, `public static final short MAX = 100', e.g..
Returns:
String representation of field, including the signature.