Package javassist.bytecode
Class FieldInfo
- java.lang.Object
-
- javassist.bytecode.FieldInfo
-
public final class FieldInfo extends Object
field_infostructure.The following code adds a public field
widthofinttype:ClassFile cf = ... FieldInfo f = new FieldInfo(cf.getConstPool(), "width", "I"); f.setAccessFlags(AccessFlag.PUBLIC); cf.addField(f);
- See Also:
CtField.getFieldInfo()
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAttribute(AttributeInfo info)Appends an attribute.intgetAccessFlags()Returns the access flags.AttributeInfogetAttribute(String name)Returns the attribute with the specified name.List<AttributeInfo>getAttributes()Returns all the attributes.intgetConstantValue()Finds a ConstantValue attribute and returns the index into theconstant_pooltable.ConstPoolgetConstPool()Returns the constant pool table used by thisfield_info.StringgetDescriptor()Returns the field descriptor.StringgetName()Returns the field name.AttributeInforemoveAttribute(String name)Removes an attribute with the specified name.voidsetAccessFlags(int acc)Sets the access flags.voidsetDescriptor(String desc)Sets the field descriptor.voidsetName(String newName)Sets the field name.StringtoString()Returns a string representation of the object.
-
-
-
Constructor Detail
-
FieldInfo
public FieldInfo(ConstPool cp, String fieldName, String desc)
Constructs afield_infostructure.- Parameters:
cp- a constant pool tablefieldName- field namedesc- field descriptor- See Also:
Descriptor
-
-
Method Detail
-
toString
public String toString()
Returns a string representation of the object.
-
getConstPool
public ConstPool getConstPool()
Returns the constant pool table used by thisfield_info.
-
getName
public String getName()
Returns the field name.
-
setName
public void setName(String newName)
Sets the field name.
-
getAccessFlags
public int getAccessFlags()
Returns the access flags.- See Also:
AccessFlag
-
setAccessFlags
public void setAccessFlags(int acc)
Sets the access flags.- See Also:
AccessFlag
-
getDescriptor
public String getDescriptor()
Returns the field descriptor.- See Also:
Descriptor
-
setDescriptor
public void setDescriptor(String desc)
Sets the field descriptor.- See Also:
Descriptor
-
getConstantValue
public int getConstantValue()
Finds a ConstantValue attribute and returns the index into theconstant_pooltable.- Returns:
- 0 if a ConstantValue attribute is not found.
-
getAttributes
public List<AttributeInfo> getAttributes()
Returns all the attributes. The returnedListobject is shared with this object. If you add a new attribute to the list, the attribute is also added to the field represented by this object. If you remove an attribute from the list, it is also removed from the field.- Returns:
- a list of
AttributeInfoobjects. - See Also:
AttributeInfo
-
getAttribute
public AttributeInfo getAttribute(String name)
Returns the attribute with the specified name. It returns null if the specified attribute is not found.An attribute name can be obtained by, for example,
AnnotationsAttribute.visibleTagorAnnotationsAttribute.invisibleTag.- Parameters:
name- attribute name- See Also:
getAttributes()
-
removeAttribute
public AttributeInfo removeAttribute(String name)
Removes an attribute with the specified name.- Parameters:
name- attribute name.- Returns:
- the removed attribute or null.
- Since:
- 3.21
-
addAttribute
public void addAttribute(AttributeInfo info)
Appends an attribute. If there is already an attribute with the same name, the new one substitutes for it.- See Also:
getAttributes()
-
-