Class FieldInfo

java.lang.Object
javassist.bytecode.FieldInfo

public final class FieldInfo extends Object
field_info structure.

The following code adds a public field width of int type:

 ClassFile cf = ...
 FieldInfo f = new FieldInfo(cf.getConstPool(), "width", "I");
 f.setAccessFlags(AccessFlag.PUBLIC);
 cf.addField(f);
 
See Also:
  • Constructor Details

    • FieldInfo

      public FieldInfo(ConstPool cp, String fieldName, String desc)
      Constructs a field_info structure.
      Parameters:
      cp - a constant pool table
      fieldName - field name
      desc - field descriptor
      See Also:
  • Method Details

    • toString

      public String toString()
      Returns a string representation of the object.
      Overrides:
      toString in class Object
    • getConstPool

      public ConstPool getConstPool()
      Returns the constant pool table used by this field_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:
    • setAccessFlags

      public void setAccessFlags(int acc)
      Sets the access flags.
      See Also:
    • getDescriptor

      public String getDescriptor()
      Returns the field descriptor.
      See Also:
    • setDescriptor

      public void setDescriptor(String desc)
      Sets the field descriptor.
      See Also:
    • getConstantValue

      public int getConstantValue()
      Finds a ConstantValue attribute and returns the index into the constant_pool table.
      Returns:
      0 if a ConstantValue attribute is not found.
    • getAttributes

      public List<AttributeInfo> getAttributes()
      Returns all the attributes. The returned List object 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 AttributeInfo objects.
      See Also:
    • 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.visibleTag or AnnotationsAttribute.invisibleTag.

      Parameters:
      name - attribute name
      See Also:
    • 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: