org.apache.bcel.classfile

## Class Field

- java.lang.Object
- - org.apache.bcel.classfile.AccessFlags
  - - org.apache.bcel.classfile.FieldOrMethod
    - - org.apache.bcel.classfile.Field

- All Implemented Interfaces:
    Cloneable, Node

      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.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Field[]` | `EMPTY_ARRAY` Empty array constant.

    - ### 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

    Constructors
    Constructor and Description
    `Field(Field c)` Initialize from another object.
    `Field(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
    `Field` | `copy(ConstantPool constantPool)`
    `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, getAnnotationEntries, getAttributes, getConstantPool, getGenericSignature, 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, isVarArgs, isVarArgs, isVolatile, isVolatile, setAccessFlags, setModifiers`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY_ARRAY

          public static final Field[] EMPTY_ARRAY

      Empty array constant.
      Since:
        6.6.0

  - ### Constructor Detail

    - #### 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.

    - #### Field

          public Field(int accessFlags,
                       int nameIndex,
                       int signatureIndex,
                       Attribute[] attributes,
                       ConstantPool constantPool)

      Parameters:
        `accessFlags` - Access rights of field
        `nameIndex` - Points to field name in constant pool
        `signatureIndex` - Points to encoded signature
        `attributes` - Collection of attributes
        `constantPool` - Array of constants

  - ### Method Detail

    - #### getComparator

          public static BCELComparator getComparator()

      Returns:
        Comparison strategy object

    - #### setComparator

          public static void setComparator(BCELComparator comparator)

      Parameters:
        `comparator` - Comparison strategy object

    - #### accept

          public void accept(Visitor v)

      Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
      Parameters:
        `v` - Visitor object

    - #### copy

          public Field copy(ConstantPool constantPool)

      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.
      Overrides:
        `equals` in class `Object`
      See Also:
        `Object.equals(Object)`

    - #### getConstantValue

          public 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.
      Overrides:
        `hashCode` in class `Object`
      See Also:
        `Object.hashCode()`

    - #### toString

          public String toString()

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

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.