org.apache.bcel.classfile

## Class FieldOrMethod

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

- All Implemented Interfaces:
    Cloneable, Node
  Direct Known Subclasses:
    Field, Method

      public abstract class FieldOrMethod
      extends AccessFlags
      implements Cloneable, Node

  Abstract super class for fields and methods.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Attribute[]` | `attributes` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter
    `protected int` | `attributes_count` Deprecated. (since 6.0) will be removed (not needed)
    `protected ConstantPool` | `constant_pool` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter
    `protected int` | `name_index` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter
    `protected int` | `signature_index` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter

    - ### Fields inherited from class org.apache.bcel.classfile.AccessFlags

      `access_flags`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `FieldOrMethod(DataInput file, ConstantPool constantPool)` Construct object from file stream.
    `protected` | `FieldOrMethod(DataInputStream file, ConstantPool constantPool)` Deprecated. (6.0) Use `FieldOrMethod(java.io.DataInput, ConstantPool)` instead.
    `protected` | `FieldOrMethod(FieldOrMethod c)` Initialize from another object.
    `protected` | `FieldOrMethod(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected FieldOrMethod` | `copy_(ConstantPool constantPool)`
    `void` | `dump(DataOutputStream file)` Dump object to file stream on binary format.
    `AnnotationEntry[]` | `getAnnotationEntries()`
    `Attribute[]` | `getAttributes()`
    `ConstantPool` | `getConstantPool()`
    `String` | `getGenericSignature()` Hunts for a signature attribute on the member and returns its contents.
    `String` | `getName()`
    `int` | `getNameIndex()`
    `String` | `getSignature()`
    `int` | `getSignatureIndex()`
    `void` | `setAttributes(Attribute[] attributes)`
    `void` | `setConstantPool(ConstantPool constantPool)`
    `void` | `setNameIndex(int nameIndex)`
    `void` | `setSignatureIndex(int signatureIndex)`

    - ### 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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.bcel.classfile.Node

      `accept`

- - ### Field Detail

    - #### name_index

          @Deprecated
          protected int name_index

      Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter

    - #### signature_index

          @Deprecated
          protected int signature_index

      Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter

    - #### attributes

          @Deprecated
          protected Attribute[] attributes

      Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter

    - #### attributes_count

          @Deprecated
          protected int attributes_count

      Deprecated. (since 6.0) will be removed (not needed)

    - #### constant_pool

          @Deprecated
          protected ConstantPool constant_pool

      Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter

  - ### Constructor Detail

    - #### FieldOrMethod

          protected FieldOrMethod(DataInput file,
                                  ConstantPool constantPool)
                           throws IOException

      Construct object from file stream.
      Parameters:
        `file` - Input stream
      Throws:
        `IOException` - if an I/O error occurs.

    - #### FieldOrMethod

          @Deprecated
          protected FieldOrMethod(DataInputStream file,
                                              ConstantPool constantPool)
                                       throws IOException

      Deprecated. (6.0) Use `FieldOrMethod(java.io.DataInput, ConstantPool)` instead.
      Construct object from file stream.
      Parameters:
        `file` - Input stream
      Throws:
        `IOException` - if an I/O error occurs.

    - #### FieldOrMethod

          protected FieldOrMethod(FieldOrMethod c)

      Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.
      Parameters:
        `c` - Source to copy.

    - #### FieldOrMethod

          protected FieldOrMethod(int accessFlags,
                                  int nameIndex,
                                  int signatureIndex,
                                  Attribute[] attributes,
                                  ConstantPool constantPool)

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

  - ### Method Detail

    - #### copy_

          protected FieldOrMethod copy_(ConstantPool constantPool)

      Returns:
        deep copy of this field

    - #### dump

          public final void dump(DataOutputStream file)
                          throws IOException

      Dump object to file stream on binary format.
      Parameters:
        `file` - Output file stream
      Throws:
        `IOException` - if an I/O error occurs.

    - #### getAnnotationEntries

          public AnnotationEntry[] getAnnotationEntries()

      Returns:
        Annotations on the field or method
      Since:
        6.0

    - #### getAttributes

          public final Attribute[] getAttributes()

      Returns:
        Collection of object attributes.

    - #### getConstantPool

          public final ConstantPool getConstantPool()

      Returns:
        Constant pool used by this object.

    - #### getGenericSignature

          public final String getGenericSignature()

      Hunts for a signature attribute on the member and returns its contents. So where the 'regular' signature may be (Ljava/util/Vector;)V the signature attribute may in fact say 'Ljava/lang/Vector<Ljava/lang/String>;' Coded for performance - searches for the attribute only when requested - only searches for it once.
      Since:
        6.0

    - #### getName

          public final String getName()

      Returns:
        Name of object, i.e., method name or field name

    - #### getNameIndex

          public final int getNameIndex()

      Returns:
        Index in constant pool of object's name.

    - #### getSignature

          public final String getSignature()

      Returns:
        String representation of object's type signature (java style)

    - #### getSignatureIndex

          public final int getSignatureIndex()

      Returns:
        Index in constant pool of field signature.

    - #### setAttributes

          public final void setAttributes(Attribute[] attributes)

      Parameters:
        `attributes` - Collection of object attributes.

    - #### setConstantPool

          public final void setConstantPool(ConstantPool constantPool)

      Parameters:
        `constantPool` - Constant pool to be used for this object.

    - #### setNameIndex

          public final void setNameIndex(int nameIndex)

      Parameters:
        `nameIndex` - Index in constant pool of object's name.

    - #### setSignatureIndex

          public final void setSignatureIndex(int signatureIndex)

      Parameters:
        `signatureIndex` - Index in constant pool of field signature.

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