Class Flags
- java.lang.Object
-
- org.eclipse.jdt.core.Flags
-
public final class Flags extends Object
Utility class for decoding modifier flags in Java elements.This class provides static methods only.
Note that the numeric values of these flags match the ones for class files as described in the Java Virtual Machine Specification (except for
AccDeprecated
,AccAnnotationDefault
, andAccDefaultMethod
).The AST class
Modifier
provides similar functionality as this class, only in theorg.eclipse.jdt.core.dom
package.- See Also:
IMember.getFlags()
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static int
AccAbstract
Abstract property flag.static int
AccAnnotation
Annotation property flag (added in J2SE 1.5).static int
AccAnnotationDefault
Annotation method default property flag.static int
AccBridge
Bridge method property flag (added in J2SE 1.5).static int
AccDefault
Constant representing the absence of any flag.static int
AccDefaultMethod
Default method property flag.static int
AccDeprecated
Deprecated property flag.static int
AccEnum
Enum property flag (added in J2SE 1.5).static int
AccFinal
Final access flag.static int
AccInterface
Interface property flag.static int
AccModule
Module declaration property flag.static int
AccNative
Native property flag.static int
AccPrivate
Private access flag.static int
AccProtected
Protected access flag.static int
AccPublic
Public access flag.static int
AccStatic
Static access flag.static int
AccStrictfp
Strictfp property flag.static int
AccSuper
Super property flag.static int
AccSynchronized
Synchronized access flag.static int
AccSynthetic
Synthetic property flag.static int
AccTransient
Transient property flag.static int
AccVarargs
Varargs method property flag (added in J2SE 1.5).static int
AccVolatile
Volatile property flag.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isAbstract(int flags)
Returns whether the given integer includes theabstract
modifier.static boolean
isAnnnotationDefault(int flags)
Returns whether the given integer has theAccAnnnotationDefault
bit set.static boolean
isAnnotation(int flags)
Returns whether the given integer has theAccAnnotation
bit set.static boolean
isBridge(int flags)
Returns whether the given integer has theAccBridge
bit set.static boolean
isDefaultMethod(int flags)
Returns whether the given integer has theAccDefaultMethod
bit set.static boolean
isDeprecated(int flags)
Returns whether the given integer includes the indication that the element is deprecated (@deprecated
tag in Javadoc comment).static boolean
isEnum(int flags)
Returns whether the given integer has theAccEnum
bit set.static boolean
isFinal(int flags)
Returns whether the given integer includes thefinal
modifier.static boolean
isInterface(int flags)
Returns whether the given integer includes theinterface
modifier.static boolean
isModule(int flags)
Returns whether the given integer has theAccModule
bit set.static boolean
isNative(int flags)
Returns whether the given integer includes thenative
modifier.static boolean
isPackageDefault(int flags)
Returns whether the given integer does not include one of thepublic
,private
, orprotected
flags.static boolean
isPrivate(int flags)
Returns whether the given integer includes theprivate
modifier.static boolean
isProtected(int flags)
Returns whether the given integer includes theprotected
modifier.static boolean
isPublic(int flags)
Returns whether the given integer includes thepublic
modifier.static boolean
isStatic(int flags)
Returns whether the given integer includes thestatic
modifier.static boolean
isStrictfp(int flags)
Returns whether the given integer includes thestrictfp
modifier.static boolean
isSuper(int flags)
Returns whether the given integer includes thesuper
modifier.static boolean
isSynchronized(int flags)
Returns whether the given integer includes thesynchronized
modifier.static boolean
isSynthetic(int flags)
Returns whether the given integer includes the indication that the element is synthetic.static boolean
isTransient(int flags)
Returns whether the given integer includes thetransient
modifier.static boolean
isVarargs(int flags)
Returns whether the given integer has theAccVarargs
bit set.static boolean
isVolatile(int flags)
Returns whether the given integer includes thevolatile
modifier.static String
toString(int flags)
Returns a standard string describing the given modifier flags.
-
-
-
Field Detail
-
AccDefault
public static final int AccDefault
Constant representing the absence of any flag.- Since:
- 3.0
- See Also:
- Constant Field Values
-
AccPublic
public static final int AccPublic
Public access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccPrivate
public static final int AccPrivate
Private access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccProtected
public static final int AccProtected
Protected access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccStatic
public static final int AccStatic
Static access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccFinal
public static final int AccFinal
Final access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccSynchronized
public static final int AccSynchronized
Synchronized access flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccVolatile
public static final int AccVolatile
Volatile property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccTransient
public static final int AccTransient
Transient property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccNative
public static final int AccNative
Native property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccInterface
public static final int AccInterface
Interface property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccAbstract
public static final int AccAbstract
Abstract property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccStrictfp
public static final int AccStrictfp
Strictfp property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccSuper
public static final int AccSuper
Super property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccSynthetic
public static final int AccSynthetic
Synthetic property flag. See The Java Virtual Machine Specification for more details.- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccDeprecated
public static final int AccDeprecated
Deprecated property flag.Note that this flag's value is internal and is not defined in the Virtual Machine specification.
- Since:
- 2.0
- See Also:
- Constant Field Values
-
AccBridge
public static final int AccBridge
Bridge method property flag (added in J2SE 1.5). Used to flag a compiler-generated bridge methods. See The Java Virtual Machine Specification for more details.- Since:
- 3.0
- See Also:
- Constant Field Values
-
AccVarargs
public static final int AccVarargs
Varargs method property flag (added in J2SE 1.5). Used to flag variable arity method declarations. See The Java Virtual Machine Specification for more details.- Since:
- 3.0
- See Also:
- Constant Field Values
-
AccEnum
public static final int AccEnum
Enum property flag (added in J2SE 1.5). See The Java Virtual Machine Specification for more details.- Since:
- 3.0
- See Also:
- Constant Field Values
-
AccAnnotation
public static final int AccAnnotation
Annotation property flag (added in J2SE 1.5). See The Java Virtual Machine Specification for more details.- Since:
- 3.0
- See Also:
- Constant Field Values
-
AccDefaultMethod
public static final int AccDefaultMethod
Default method property flag.Note that this flag's value is internal and is not defined in the Virtual Machine specification.
- Since:
- 3.10
- See Also:
- Constant Field Values
-
AccAnnotationDefault
public static final int AccAnnotationDefault
Annotation method default property flag. Used to flag annotation type methods that declare a default value.Note that this flag's value is internal and is not defined in the Virtual Machine specification.
- Since:
- 3.10
- See Also:
- Constant Field Values
-
AccModule
public static final int AccModule
Module declaration property flag. Used to flag a compilation unit or a class file that contains a module declaration.- Since:
- 3.14
- See Also:
- Constant Field Values
-
-
Method Detail
-
isAbstract
public static boolean isAbstract(int flags)
Returns whether the given integer includes theabstract
modifier.- Parameters:
flags
- the flags- Returns:
true
if theabstract
modifier is included
-
isDeprecated
public static boolean isDeprecated(int flags)
Returns whether the given integer includes the indication that the element is deprecated (@deprecated
tag in Javadoc comment).- Parameters:
flags
- the flags- Returns:
true
if the element is marked as deprecated
-
isFinal
public static boolean isFinal(int flags)
Returns whether the given integer includes thefinal
modifier.- Parameters:
flags
- the flags- Returns:
true
if thefinal
modifier is included
-
isInterface
public static boolean isInterface(int flags)
Returns whether the given integer includes theinterface
modifier.- Parameters:
flags
- the flags- Returns:
true
if theinterface
modifier is included- Since:
- 2.0
-
isNative
public static boolean isNative(int flags)
Returns whether the given integer includes thenative
modifier.- Parameters:
flags
- the flags- Returns:
true
if thenative
modifier is included
-
isPackageDefault
public static boolean isPackageDefault(int flags)
Returns whether the given integer does not include one of thepublic
,private
, orprotected
flags.- Parameters:
flags
- the flags- Returns:
true
if no visibility flag is set- Since:
- 3.2
-
isPrivate
public static boolean isPrivate(int flags)
Returns whether the given integer includes theprivate
modifier.- Parameters:
flags
- the flags- Returns:
true
if theprivate
modifier is included
-
isProtected
public static boolean isProtected(int flags)
Returns whether the given integer includes theprotected
modifier.- Parameters:
flags
- the flags- Returns:
true
if theprotected
modifier is included
-
isPublic
public static boolean isPublic(int flags)
Returns whether the given integer includes thepublic
modifier.- Parameters:
flags
- the flags- Returns:
true
if thepublic
modifier is included
-
isStatic
public static boolean isStatic(int flags)
Returns whether the given integer includes thestatic
modifier.- Parameters:
flags
- the flags- Returns:
true
if thestatic
modifier is included
-
isSuper
public static boolean isSuper(int flags)
Returns whether the given integer includes thesuper
modifier.- Parameters:
flags
- the flags- Returns:
true
if thesuper
modifier is included- Since:
- 3.2
-
isStrictfp
public static boolean isStrictfp(int flags)
Returns whether the given integer includes thestrictfp
modifier.- Parameters:
flags
- the flags- Returns:
true
if thestrictfp
modifier is included
-
isSynchronized
public static boolean isSynchronized(int flags)
Returns whether the given integer includes thesynchronized
modifier.- Parameters:
flags
- the flags- Returns:
true
if thesynchronized
modifier is included
-
isSynthetic
public static boolean isSynthetic(int flags)
Returns whether the given integer includes the indication that the element is synthetic.- Parameters:
flags
- the flags- Returns:
true
if the element is marked synthetic
-
isTransient
public static boolean isTransient(int flags)
Returns whether the given integer includes thetransient
modifier.- Parameters:
flags
- the flags- Returns:
true
if thetransient
modifier is included
-
isVolatile
public static boolean isVolatile(int flags)
Returns whether the given integer includes thevolatile
modifier.- Parameters:
flags
- the flags- Returns:
true
if thevolatile
modifier is included
-
isBridge
public static boolean isBridge(int flags)
Returns whether the given integer has theAccBridge
bit set.- Parameters:
flags
- the flags- Returns:
true
if theAccBridge
flag is included- Since:
- 3.0
- See Also:
AccBridge
-
isVarargs
public static boolean isVarargs(int flags)
Returns whether the given integer has theAccVarargs
bit set.- Parameters:
flags
- the flags- Returns:
true
if theAccVarargs
flag is included- Since:
- 3.0
- See Also:
AccVarargs
-
isEnum
public static boolean isEnum(int flags)
Returns whether the given integer has theAccEnum
bit set.- Parameters:
flags
- the flags- Returns:
true
if theAccEnum
flag is included- Since:
- 3.0
- See Also:
AccEnum
-
isAnnotation
public static boolean isAnnotation(int flags)
Returns whether the given integer has theAccAnnotation
bit set.- Parameters:
flags
- the flags- Returns:
true
if theAccAnnotation
flag is included- Since:
- 3.0
- See Also:
AccAnnotation
-
isDefaultMethod
public static boolean isDefaultMethod(int flags)
Returns whether the given integer has theAccDefaultMethod
bit set. Note that this flag represents the usage of the 'default' keyword on a method and should not be confused with the 'package' access visibility (which used to be called 'default access').- Returns:
true
if theAccDefaultMethod
flag is included- Since:
- 3.10
- See Also:
AccDefaultMethod
-
isAnnnotationDefault
public static boolean isAnnnotationDefault(int flags)
Returns whether the given integer has theAccAnnnotationDefault
bit set.- Returns:
true
if theAccAnnotationDefault
flag is included- Since:
- 3.10
- See Also:
AccAnnotationDefault
-
isModule
public static boolean isModule(int flags)
Returns whether the given integer has theAccModule
bit set.- Returns:
true
if theAccModule
flag is included- Since:
- 3.14
- See Also:
AccModule
-
toString
public static String toString(int flags)
Returns a standard string describing the given modifier flags. Only modifier flags are included in the output; deprecated, synthetic, bridge, etc. flags are ignored.The flags are output in the following order:
public protected private abstract default static final synchronized native strictfp transient volatile
This order is consistent with the recommendations in JLS8 ("*Modifier:" rules in chapters 8 and 9).
Note that the flags of a method can include the AccVarargs flag that has no standard description. Since the AccVarargs flag has the same value as the AccTransient flag (valid for fields only), attempting to get the description of method modifiers with the AccVarargs flag set would result in an unexpected description. Clients should ensure that the AccVarargs is not included in the flags of a method as follows:
IMethod method = ... int flags = method.getFlags() & ~Flags.AccVarargs; return Flags.toString(flags);
Examples results:
"public static final"
"private native"
- Parameters:
flags
- the flags- Returns:
- the standard string representation of the given flags
-
-