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, typeFields inherited from class org.apache.bcel.classfile.AccessFlags
access_flags -
Constructor Summary
ConstructorsConstructorDescriptionFieldGen(int accessFlags, Type type, String name, ConstantPoolGen cp) Declare a field.FieldGen(Field field, ConstantPoolGen cp) Instantiate from existing field. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd observer for this object.voidRemove any initial value.copy(ConstantPoolGen cp) Creates a deep copy of this field.booleanReturn value as defined by given BCELComparator strategy.static BCELComparator<FieldGen> Gets the comparison strategy object.getField()Gets field object after having set up all necessary values.Gets the initial value.Gets the signature of method or field.inthashCode()Return value as defined by given BCELComparator strategy.voidRemove observer for this object.static voidsetComparator(BCELComparator<FieldGen> comparator) Sets the comparison strategy object.voidsetInitValue(boolean b) Sets the initial value.voidsetInitValue(byte b) Sets the initial value.voidsetInitValue(char c) Sets the initial value.voidsetInitValue(double d) Sets the initial value.voidsetInitValue(float f) Sets the initial value.voidsetInitValue(int i) Sets the initial value.voidsetInitValue(long l) Sets the initial value.voidsetInitValue(short s) Sets the initial value.voidsetInitValue(String str) Sets (optional) initial value of field, otherwise it will be set to null/0/false by the JVM automatically.final StringtoString()Return string representation close to declaration format, for example: 'public static final short MAX = 100'.voidupdate()Call notify() method on all observers.Methods inherited from class org.apache.bcel.generic.FieldGenOrMethodGen
addAll, addAnnotationEntry, addAttribute, clone, getAnnotationEntries, getAttributes, getConstantPool, getName, getType, removeAnnotationEntries, removeAnnotationEntry, removeAttribute, removeAttributes, setConstantPool, setName, setTypeMethods 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
Instantiate from existing field.- Parameters:
field- Field object.cp- constant pool (must contain the same entries as the field's constant pool).
-
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:
accessFlags- access qualifiers.type- field type.name- field name.cp- constant pool.
-
-
Method Details
-
getComparator
Gets the comparison strategy object.- Returns:
- Comparison strategy object.
-
setComparator
Sets the comparison strategy object.- Parameters:
comparator- Comparison strategy object.
-
addObserver
Add observer for this object.- Parameters:
o- The observer to add.
-
cancelInitValue
Remove any initial value. -
copy
Creates a deep copy of this field.- Parameters:
cp- The constant pool.- Returns:
- deep copy of this field.
-
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. -
getField
Gets field object after having set up all necessary values.- Returns:
- The field object.
-
getInitValue
Gets the initial value.- Returns:
- The initial value.
-
getSignature
Description copied from class:FieldGenOrMethodGenGets the signature of method or field.- Specified by:
getSignaturein classFieldGenOrMethodGen- Returns:
- signature of method/field.
-
hashCode
Return value as defined by given BCELComparator strategy. By default return the hash code of the field's name XOR signature. -
removeObserver
Remove observer for this object.- Parameters:
o- The observer to remove.
-
setInitValue
Sets the initial value.- Parameters:
b- The boolean value.
-
setInitValue
Sets the initial value.- Parameters:
b- The byte value.
-
setInitValue
Sets the initial value.- Parameters:
c- The char value.
-
setInitValue
Sets the initial value.- Parameters:
d- The double value.
-
setInitValue
Sets the initial value.- Parameters:
f- The float value.
-
setInitValue
Sets the initial value.- Parameters:
i- The int value.
-
setInitValue
Sets the initial value.- Parameters:
l- The long value.
-
setInitValue
Sets the initial value.- Parameters:
s- The short value.
-
setInitValue
Sets (optional) initial value of field, otherwise it will be set to null/0/false by the JVM automatically.- Parameters:
str- The string value.
-
toString
Return string representation close to declaration format, for example: 'public static final short MAX = 100'. -
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 they have finished editing the object.
-