Package javassist

Class CtMember

  • Direct Known Subclasses:
    CtBehavior, CtField

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

      • declaringClass

        protected CtClass declaringClass
    • Constructor Detail

      • CtMember

        protected CtMember​(CtClass clazz)
    • Method Detail

      • extendToString

        protected abstract void extendToString​(StringBuffer buffer)
        Invoked by toString() to add to the buffer and provide the complete value. Subclasses should invoke this method, adding a space before each token. The modifiers for the member are provided first; subclasses should provide additional data such as return type, field or method name, etc.
      • 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.
      • 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