Package org.apache.bcel.generic
Class FieldGen
java.lang.Object
org.apache.bcel.classfile.AccessFlags
org.apache.bcel.generic.FieldGenOrMethodGen
org.apache.bcel.generic.FieldGen
- All Implemented Interfaces:
Cloneable
,NamedAndTyped
Template class for building up a field. The only extraordinary thing
one can do is to add a constant value attribute to a field (which must of
course be compatible with to the declared type).
- See Also:
-
Field Summary
Fields inherited from class org.apache.bcel.generic.FieldGenOrMethodGen
cp, name, type
Fields inherited from class org.apache.bcel.classfile.AccessFlags
access_flags
-
Constructor Summary
ConstructorDescriptionFieldGen
(int access_flags, Type type, String name, ConstantPoolGen cp) Declare a field.FieldGen
(Field field, ConstantPoolGen cp) Instantiate from existing field. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add observer for this object.void
Remove any initial value.copy
(ConstantPoolGen cp) boolean
Return value as defined by given BCELComparator strategy.static BCELComparator
getField()
Get field object after having set up all necessary values.int
hashCode()
Return value as defined by given BCELComparator strategy.void
Remove observer for this object.static void
setComparator
(BCELComparator comparator) void
setInitValue
(boolean b) void
setInitValue
(byte b) void
setInitValue
(char c) void
setInitValue
(double d) void
setInitValue
(float f) void
setInitValue
(int i) void
setInitValue
(long l) void
setInitValue
(short s) void
setInitValue
(String str) Set (optional) initial value of field, otherwise it will be set to null/0/false by the JVM automatically.final String
toString()
Return string representation close to declaration format, `public static final short MAX = 100', e.g..void
update()
Call notify() method on all observers.Methods inherited from class org.apache.bcel.generic.FieldGenOrMethodGen
addAnnotationEntry, addAttribute, clone, getAnnotationEntries, getAttributes, getConstantPool, getName, getType, removeAnnotationEntries, removeAnnotationEntry, removeAttribute, removeAttributes, setConstantPool, setName, setType
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
-
Constructor Details
-
FieldGen
Declare a field. If it is static (isStatic() == true) and has a basic type like int or String it may have an initial value associated with it as defined by setInitValue().- Parameters:
access_flags
- access qualifierstype
- field typename
- field namecp
- constant pool
-
FieldGen
Instantiate from existing field.- Parameters:
field
- Field objectcp
- constant pool (must contain the same entries as the field's constant pool)
-
-
Method Details
-
setInitValue
Set (optional) initial value of field, otherwise it will be set to null/0/false by the JVM automatically. -
setInitValue
public void setInitValue(long l) -
setInitValue
public void setInitValue(int i) -
setInitValue
public void setInitValue(short s) -
setInitValue
public void setInitValue(char c) -
setInitValue
public void setInitValue(byte b) -
setInitValue
public void setInitValue(boolean b) -
setInitValue
public void setInitValue(float f) -
setInitValue
public void setInitValue(double d) -
cancelInitValue
public void cancelInitValue()Remove any initial value. -
getField
Get field object after having set up all necessary values. -
getSignature
- Specified by:
getSignature
in classFieldGenOrMethodGen
- Returns:
- signature of method/field.
-
addObserver
Add observer for this object. -
removeObserver
Remove observer for this object. -
update
public void update()Call notify() method on all observers. This method is not called automatically whenever the state has changed, but has to be called by the user after he has finished editing the object. -
getInitValue
-
toString
Return string representation close to declaration format, `public static final short MAX = 100', e.g.. -
copy
- Returns:
- deep copy of this field
-
getComparator
- Returns:
- Comparison strategy object
-
setComparator
- Parameters:
comparator
- Comparison strategy object
-
equals
Return value as defined by given BCELComparator strategy. By default two FieldGen objects are said to be equal when their names and signatures are equal. -
hashCode
public int hashCode()Return value as defined by given BCELComparator strategy. By default return the hashcode of the field's name XOR signature.
-