Class Modifier

  • All Implemented Interfaces:
    IExtendedModifier

    public final class Modifier
    extends ASTNode
    implements IExtendedModifier
    Modifier node.
     Modifier:
        public
        protected
        private
        static
        abstract
        final
        native
        synchronized
        transient
        volatile
        strictfp
        default
     

    The numeric values of these flags match the ones for class files as described in the Java Virtual Machine Specification (except for DEFAULT). Note that the Java model class Flags also provides the same constants as this class.

    Since:
    2.0
    Restriction:
    This class is not intended to be instantiated by clients.
    • Field Detail

      • ABSTRACT

        public static final int ABSTRACT
        "abstract" modifier constant (bit mask). Applicable to types and methods.
        Since:
        2.0
        See Also:
        Constant Field Values
      • FINAL

        public static final int FINAL
        "final" modifier constant (bit mask). Applicable to types, methods, fields, and variables.
        Since:
        2.0
        See Also:
        Constant Field Values
      • NATIVE

        public static final int NATIVE
        "native" modifier constant (bit mask). Applicable only to methods.
        Since:
        2.0
        See Also:
        Constant Field Values
      • NONE

        public static final int NONE
        Modifier constant (bit mask, value 0) indicating no modifiers.
        Since:
        2.0
        See Also:
        Constant Field Values
      • PRIVATE

        public static final int PRIVATE
        "private" modifier constant (bit mask). Applicable to types, methods, constructors, and fields.
        Since:
        2.0
        See Also:
        Constant Field Values
      • PROTECTED

        public static final int PROTECTED
        "protected" modifier constant (bit mask). Applicable to types, methods, constructors, and fields.
        Since:
        2.0
        See Also:
        Constant Field Values
      • PUBLIC

        public static final int PUBLIC
        "public" modifier constant (bit mask). Applicable to types, methods, constructors, and fields.
        Since:
        2.0
        See Also:
        Constant Field Values
      • STATIC

        public static final int STATIC
        "static" modifier constant (bit mask). Applicable to types, methods, fields, and initializers.
        Since:
        2.0
        See Also:
        Constant Field Values
      • STRICTFP

        public static final int STRICTFP
        "strictfp" modifier constant (bit mask). Applicable to types and methods.
        Since:
        2.0
        See Also:
        Constant Field Values
      • SYNCHRONIZED

        public static final int SYNCHRONIZED
        "synchronized" modifier constant (bit mask). Applicable only to methods.
        Since:
        2.0
        See Also:
        Constant Field Values
      • TRANSIENT

        public static final int TRANSIENT
        "transient" modifier constant (bit mask). Applicable only to fields.
        Since:
        2.0
        See Also:
        Constant Field Values
      • VOLATILE

        public static final int VOLATILE
        "volatile" modifier constant (bit mask). Applicable only to fields.
        Since:
        2.0
        See Also:
        Constant Field Values
      • DEFAULT

        public static final int DEFAULT
        "default" modifier constant (bit mask) (added in JLS8 API). Applicable only to methods in interfaces (but not for annotation methods with a default value).

        Note that the value of this flag is internal and is not specified in the Java Virtual Machine Specification.

        Since:
        3.10
        See Also:
        Constant Field Values
    • Method Detail

      • isAbstract

        public static boolean isAbstract​(int flags)
        Returns whether the given flags includes the "abstract" modifier. Applicable to types and methods.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the ABSTRACT bit is set, and false otherwise
        Since:
        2.0
      • isFinal

        public static boolean isFinal​(int flags)
        Returns whether the given flags includes the "final" modifier. Applicable to types, methods, fields, and variables.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the FINAL bit is set, and false otherwise
        Since:
        2.0
      • isNative

        public static boolean isNative​(int flags)
        Returns whether the given flags includes the "native" modifier. Applicable only to methods.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the NATIVE bit is set, and false otherwise
        Since:
        2.0
      • isPrivate

        public static boolean isPrivate​(int flags)
        Returns whether the given flags includes the "private" modifier. Applicable to types, methods, constructors, and fields.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the PRIVATE bit is set, and false otherwise
        Since:
        2.0
      • isProtected

        public static boolean isProtected​(int flags)
        Returns whether the given flags includes the "protected" modifier. Applicable to types, methods, constructors, and fields.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the PROTECTED bit is set, and false otherwise
        Since:
        2.0
      • isPublic

        public static boolean isPublic​(int flags)
        Returns whether the given flags includes the "public" modifier. Applicable to types, methods, constructors, and fields.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the PUBLIC bit is set, and false otherwise
        Since:
        2.0
      • isStatic

        public static boolean isStatic​(int flags)
        Returns whether the given flags includes the "static" modifier. Applicable to types, methods, fields, and initializers.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the STATIC bit is set, and false otherwise
        Since:
        2.0
      • isStrictfp

        public static boolean isStrictfp​(int flags)
        Returns whether the given flags includes the "strictfp" modifier. Applicable to types and methods.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the STRICTFP bit is set, and false otherwise
        Since:
        2.0
      • isSynchronized

        public static boolean isSynchronized​(int flags)
        Returns whether the given flags includes the "synchronized" modifier. Applicable only to methods.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the SYNCHRONIZED bit is set, and false otherwise
        Since:
        2.0
      • isTransient

        public static boolean isTransient​(int flags)
        Returns whether the given flags includes the "transient" modifier. Applicable only to fields.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the TRANSIENT bit is set, and false otherwise
        Since:
        2.0
      • isVolatile

        public static boolean isVolatile​(int flags)
        Returns whether the given flags includes the "volatile" modifier. Applicable only to fields.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the VOLATILE bit is set, and false otherwise
        Since:
        2.0
      • isDefault

        public static boolean isDefault​(int flags)
        Returns whether the given flags includes the "default" modifier. Applicable only to methods in interfaces.
        Parameters:
        flags - the modifier flags
        Returns:
        true if the DEFAULT bit is set and false otherwise
        Since:
        3.10
      • propertyDescriptors

        public static List propertyDescriptors​(int apiLevel)
        Returns a list of structural property descriptors for this node type. Clients must not modify the result.
        Parameters:
        apiLevel - the API level; one of the AST.JLS* constants
        Returns:
        a list of property descriptors (element type: StructuralPropertyDescriptor)
        Since:
        3.0
      • getKeyword

        public Modifier.ModifierKeyword getKeyword()
        Returns the modifier keyword of this modifier node.
        Returns:
        the modifier keyword
        Since:
        3.0
      • isAbstract

        public boolean isAbstract()
        Answer true if the receiver is the abstract modifier, false otherwise.
        Returns:
        true if the receiver is the abstract modifier, false otherwise
        Since:
        3.2
      • isFinal

        public boolean isFinal()
        Answer true if the receiver is the final modifier, false otherwise.
        Returns:
        true if the receiver is the final modifier, false otherwise
        Since:
        3.2
      • isNative

        public boolean isNative()
        Answer true if the receiver is the native modifier, false otherwise.
        Returns:
        true if the receiver is the native modifier, false otherwise
        Since:
        3.2
      • isPrivate

        public boolean isPrivate()
        Answer true if the receiver is the private modifier, false otherwise.
        Returns:
        true if the receiver is the private modifier, false otherwise
        Since:
        3.2
      • isProtected

        public boolean isProtected()
        Answer true if the receiver is the protected modifier, false otherwise.
        Returns:
        true if the receiver is the protected modifier, false otherwise
        Since:
        3.2
      • isPublic

        public boolean isPublic()
        Answer true if the receiver is the public modifier, false otherwise.
        Returns:
        true if the receiver is the public modifier, false otherwise
        Since:
        3.2
      • isStatic

        public boolean isStatic()
        Answer true if the receiver is the static modifier, false otherwise.
        Returns:
        true if the receiver is the static modifier, false otherwise
        Since:
        3.2
      • isStrictfp

        public boolean isStrictfp()
        Answer true if the receiver is the strictfp modifier, false otherwise.
        Returns:
        true if the receiver is the strictfp modifier, false otherwise
        Since:
        3.2
      • isSynchronized

        public boolean isSynchronized()
        Answer true if the receiver is the synchronized modifier, false otherwise.
        Returns:
        true if the receiver is the synchronized modifier, false otherwise
        Since:
        3.2
      • isTransient

        public boolean isTransient()
        Answer true if the receiver is the transient modifier, false otherwise.
        Returns:
        true if the receiver is the transient modifier, false otherwise
        Since:
        3.2
      • isVolatile

        public boolean isVolatile()
        Answer true if the receiver is the volatile modifier, false otherwise.
        Returns:
        true if the receiver is the volatile modifier, false otherwise
        Since:
        3.2
      • isDefault

        public boolean isDefault()
        Answer true if the receiver is the default modifier, false otherwise.
        Returns:
        true if the receiver is the default modifier, false otherwise
        Since:
        3.10
      • setKeyword

        public void setKeyword​(Modifier.ModifierKeyword modifierKeyord)
        Sets the modifier keyword of this modifier node.
        Parameters:
        modifierKeyord - the modifier keyword
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        3.0