Package javassist

# Class CtMember

java.lang.Object
javassist.CtMember

Direct Known Subclasses:
  `CtBehavior`, `CtField`

public abstract class CtMember extends Object
An instance of `CtMember` represents a field, a constructor, or a method.

## Method Summary

Modifier and Type
Method
Description
`abstract Object`
`getAnnotation(Class<?> annotationType)`
Returns the annotation if the class has the specified annotation type.
`abstract Object[]`
`getAnnotations()`
Returns the annotations associated with this member.
`abstract byte[]`
`getAttribute(String name)`
Obtains a user-defined attribute with the given name.
`abstract Object[]`
`getAvailableAnnotations()`
Returns the annotations associated with this member.
`CtClass`
`getDeclaringClass()`
Returns the class that declares this member.
`abstract String`
`getGenericSignature()`
Returns the generic signature of the member.
`abstract int`
`getModifiers()`
Obtains the modifiers of the member.
`abstract String`
`getName()`
Obtains the name of the member.
`abstract String`
`getSignature()`
Returns the character string representing the signature of the member.
`boolean`
`hasAnnotation(Class<?> clz)`
Returns true if the class has the specified annotation type.
`abstract boolean`
`hasAnnotation(String annotationTypeName)`
Returns true if the class has the specified annotation type.
`abstract void`
`setAttribute(String name, byte[] data)`
Adds a user-defined attribute.
`abstract void`
`setGenericSignature(String sig)`
Sets the generic signature of the member.
`abstract void`
`setModifiers(int mod)`
Sets the encoded modifiers of the member.
`String`
`toString()`
`boolean`
`visibleFrom(CtClass clazz)`
Returns true if this member is accessible from the given class.

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

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

## Method Details

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getDeclaringClass

public CtClass getDeclaringClass()
Returns the class that declares this member.

### visibleFrom

public boolean visibleFrom(CtClass clazz)
Returns true if this member is accessible from the given class.

### getModifiers

public abstract int getModifiers()
Obtains the modifiers of the member.

Returns:
  modifiers encoded with `javassist.Modifier`.
See Also:
  - `Modifier`

### setModifiers

public abstract void setModifiers(int mod)
Sets the encoded modifiers of the member.

See Also:
  - `Modifier`

### hasAnnotation

public boolean hasAnnotation(Class<?> clz)
Returns true if the class has the specified annotation type.

Parameters:
  `clz` - the annotation type.
Returns:
  `true` if the annotation is found, otherwise `false`.
Since:
  3.11

### hasAnnotation

public abstract boolean hasAnnotation(String annotationTypeName)
Returns true if the class has the specified annotation type.

Parameters:
  `annotationTypeName` - the name of annotation type.
Returns:
  `true` if the annotation is found, otherwise `false`.
Since:
  3.21

### getAnnotation

public abstract Object getAnnotation(Class<?> annotationType) throws ClassNotFoundException
Returns the annotation if the class has the specified annotation type. For example, if an annotation `@Author` is associated with this member, an `Author` object is returned. The member values can be obtained by calling methods on the `Author` object.

Parameters:
  `annotationType` - the annotation type.
Returns:
  the annotation if found, otherwise `null`.
Throws:
  `ClassNotFoundException`
Since:
  3.11

### getAnnotations

public abstract Object[] getAnnotations() throws ClassNotFoundException
Returns the annotations associated with this member. For example, if an annotation `@Author` is associated with this member, the returned array contains an `Author` object. The member values can be obtained by calling methods on the `Author` object.

Returns:
  an array of annotation-type objects.
Throws:
  `ClassNotFoundException`
See Also:
  - `CtClass.getAnnotations()`

### getAvailableAnnotations

public abstract Object[] getAvailableAnnotations()
Returns the annotations associated with this member. This method is equivalent to `getAnnotations()` except that, if any annotations are not on the classpath, they are not included in the returned array.

Returns:
  an array of annotation-type objects.
Since:
  3.3
See Also:
  - `getAnnotations()`
  - `CtClass.getAvailableAnnotations()`

### getName

public abstract String getName()
Obtains the name of the member.

As for constructor names, see `getName()` in `CtConstructor`.

See Also:
  - `CtConstructor.getName()`

### getSignature

public abstract String getSignature()
Returns the character string representing the signature of the member. If two members have the same signature (parameter types etc.), `getSignature()` returns the same string.

### getGenericSignature

public abstract String getGenericSignature()
Returns the generic signature of the member.

Since:
  3.17
See Also:
  - `SignatureAttribute.toFieldSignature(String)`
  - `SignatureAttribute.toMethodSignature(String)`
  - `CtClass.getGenericSignature()`

### setGenericSignature

public abstract void setGenericSignature(String sig)
Sets the generic signature of the member.

Parameters:
  `sig` - a new generic signature.
Since:
  3.17
See Also:
  - `SignatureAttribute.ObjectType.encode()`
  - `SignatureAttribute.MethodSignature.encode()`
  - `CtClass.setGenericSignature(String)`

### getAttribute

public abstract byte[] getAttribute(String name)
Obtains a user-defined attribute with the given name. If that attribute is not found in the class file, this method returns null.

Note that an attribute is a data block specified by the class file format. See `AttributeInfo`.

Parameters:
  `name` - attribute name

### setAttribute

public abstract void setAttribute(String name, byte[] data)
Adds a user-defined attribute. The attribute is saved in the class file.

Note that an attribute is a data block specified by the class file format. See `AttributeInfo`.

Parameters:
  `name` - attribute name
  `data` - attribute value