org.apache.bcel.generic

## Class FieldGenOrMethodGen

- java.lang.Object
- - org.apache.bcel.classfile.AccessFlags
  - - org.apache.bcel.generic.FieldGenOrMethodGen

- All Implemented Interfaces:
    Cloneable, NamedAndTyped
  Direct Known Subclasses:
    FieldGen, MethodGen

      public abstract class FieldGenOrMethodGen
      extends AccessFlags
      implements NamedAndTyped, Cloneable

  Super class for FieldGen and MethodGen objects, since they have some methods in common!

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ConstantPoolGen` | `cp` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter
    `protected String` | `name` Deprecated. (since 6.0) will be made private; do not access directly, use getter/setter
    `protected Type` | `type` 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` | `FieldGenOrMethodGen()`
    `protected` | `FieldGenOrMethodGen(int accessFlags)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addAll(Attribute[] attrs)`
    `void` | `addAnnotationEntry(AnnotationEntryGen ag)`
    `void` | `addAttribute(Attribute a)` Add an attribute to this method.
    `Object` | `clone()`
    `AnnotationEntryGen[]` | `getAnnotationEntries()`
    `Attribute[]` | `getAttributes()`
    `ConstantPoolGen` | `getConstantPool()`
    `String` | `getName()`
    `abstract String` | `getSignature()`
    `Type` | `getType()`
    `void` | `removeAnnotationEntries()`
    `void` | `removeAnnotationEntry(AnnotationEntryGen ag)`
    `void` | `removeAttribute(Attribute a)` Remove an attribute.
    `void` | `removeAttributes()` Remove all attributes.
    `void` | `setConstantPool(ConstantPoolGen cp)`
    `void` | `setName(String name)`
    `void` | `setType(Type type)`

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

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### name

          @Deprecated
          protected String name

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

    - #### type

          @Deprecated
          protected Type type

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

    - #### cp

          @Deprecated
          protected ConstantPoolGen cp

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

  - ### Constructor Detail

    - #### FieldGenOrMethodGen

          protected FieldGenOrMethodGen()

    - #### FieldGenOrMethodGen

          protected FieldGenOrMethodGen(int accessFlags)

      Since:
        6.0

  - ### Method Detail

    - #### addAll

          protected void addAll(Attribute[] attrs)

    - #### addAnnotationEntry

          public void addAnnotationEntry(AnnotationEntryGen ag)

      Since:
        6.0

    - #### addAttribute

          public void addAttribute(Attribute a)

      Add an attribute to this method. Currently, the JVM knows about the 'Code', 'ConstantValue', 'Synthetic' and 'Exceptions' attributes. Other attributes will be ignored by the JVM but do no harm.
      Parameters:
        `a` - attribute to be added

    - #### clone

          public Object clone()

      Overrides:
        `clone` in class `Object`

    - #### getAnnotationEntries

          public AnnotationEntryGen[] getAnnotationEntries()

    - #### getAttributes

          public Attribute[] getAttributes()

      Returns:
        all attributes of this method.

    - #### getConstantPool

          public ConstantPoolGen getConstantPool()

    - #### getName

          public String getName()

      Specified by:
        `getName` in interface `NamedAndTyped`
      Returns:
        name of method/field.

    - #### getSignature

          public abstract String getSignature()

      Returns:
        signature of method/field.

    - #### getType

          public Type getType()

      Specified by:
        `getType` in interface `NamedAndTyped`

    - #### removeAnnotationEntries

          public void removeAnnotationEntries()

      Since:
        6.0

    - #### removeAnnotationEntry

          public void removeAnnotationEntry(AnnotationEntryGen ag)

      Since:
        6.0

    - #### removeAttribute

          public void removeAttribute(Attribute a)

      Remove an attribute.

    - #### removeAttributes

          public void removeAttributes()

      Remove all attributes.

    - #### setConstantPool

          public void setConstantPool(ConstantPoolGen cp)

    - #### setName

          public void setName(String name)

      Specified by:
        `setName` in interface `NamedAndTyped`

    - #### setType

          public void setType(Type type)

      Specified by:
        `setType` in interface `NamedAndTyped`

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