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
Modifierprovides similar functionality as this class, only in theorg.eclipse.jdt.core.dompackage.- See Also:
IMember.getFlags()- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static intAccAbstractAbstract property flag.static intAccAnnotationAnnotation property flag (added in J2SE 1.5).static intAccAnnotationDefaultAnnotation method default property flag.static intAccBridgeBridge method property flag (added in J2SE 1.5).static intAccDefaultConstant representing the absence of any flag.static intAccDefaultMethodDefault method property flag.static intAccDeprecatedDeprecated property flag.static intAccEnumEnum property flag (added in J2SE 1.5).static intAccFinalFinal access flag.static intAccInterfaceInterface property flag.static intAccModuleModule declaration property flag.static intAccNativeNative property flag.static intAccPrivatePrivate access flag.static intAccProtectedProtected access flag.static intAccPublicPublic access flag.static intAccRecordRecord property flag.static intAccStaticStatic access flag.static intAccStrictfpStrictfp property flag.static intAccSuperSuper property flag.static intAccSynchronizedSynchronized access flag.static intAccSyntheticSynthetic property flag.static intAccTransientTransient property flag.static intAccVarargsVarargs method property flag (added in J2SE 1.5).static intAccVolatileVolatile property flag.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanisAbstract(int flags)Returns whether the given integer includes theabstractmodifier.static booleanisAnnnotationDefault(int flags)Returns whether the given integer has theAccAnnnotationDefaultbit set.static booleanisAnnotation(int flags)Returns whether the given integer has theAccAnnotationbit set.static booleanisBridge(int flags)Returns whether the given integer has theAccBridgebit set.static booleanisDefaultMethod(int flags)Returns whether the given integer has theAccDefaultMethodbit set.static booleanisDeprecated(int flags)Returns whether the given integer includes the indication that the element is deprecated (@deprecatedtag in Javadoc comment).static booleanisEnum(int flags)Returns whether the given integer has theAccEnumbit set.static booleanisFinal(int flags)Returns whether the given integer includes thefinalmodifier.static booleanisInterface(int flags)Returns whether the given integer includes theinterfacemodifier.static booleanisModule(int flags)Returns whether the given integer has theAccModulebit set.static booleanisNative(int flags)Returns whether the given integer includes thenativemodifier.static booleanisPackageDefault(int flags)Returns whether the given integer does not include one of thepublic,private, orprotectedflags.static booleanisPrivate(int flags)Returns whether the given integer includes theprivatemodifier.static booleanisProtected(int flags)Returns whether the given integer includes theprotectedmodifier.static booleanisPublic(int flags)Returns whether the given integer includes thepublicmodifier.static booleanisRecord(int flags)Returns whether the given integer has theAccRecordbit set.static booleanisStatic(int flags)Returns whether the given integer includes thestaticmodifier.static booleanisStrictfp(int flags)Returns whether the given integer includes thestrictfpmodifier.static booleanisSuper(int flags)Returns whether the given integer includes thesupermodifier.static booleanisSynchronized(int flags)Returns whether the given integer includes thesynchronizedmodifier.static booleanisSynthetic(int flags)Returns whether the given integer includes the indication that the element is synthetic.static booleanisTransient(int flags)Returns whether the given integer includes thetransientmodifier.static booleanisVarargs(int flags)Returns whether the given integer has theAccVarargsbit set.static booleanisVolatile(int flags)Returns whether the given integer includes thevolatilemodifier.static StringtoString(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
-
AccRecord
public static final int AccRecord
Record property flag.Note that this flag's value is internal and is not defined in the Virtual Machine specification.
- Since:
- 3.22
- See Also:
- Constant Field Values
- Restriction:
- This field is not intended to be referenced by clients as it is a part of Java preview feature.
-
-
Method Detail
-
isAbstract
public static boolean isAbstract(int flags)
Returns whether the given integer includes theabstractmodifier.- Parameters:
flags- the flags- Returns:
trueif theabstractmodifier is included
-
isDeprecated
public static boolean isDeprecated(int flags)
Returns whether the given integer includes the indication that the element is deprecated (@deprecatedtag in Javadoc comment).- Parameters:
flags- the flags- Returns:
trueif the element is marked as deprecated
-
isFinal
public static boolean isFinal(int flags)
Returns whether the given integer includes thefinalmodifier.- Parameters:
flags- the flags- Returns:
trueif thefinalmodifier is included
-
isInterface
public static boolean isInterface(int flags)
Returns whether the given integer includes theinterfacemodifier.- Parameters:
flags- the flags- Returns:
trueif theinterfacemodifier is included- Since:
- 2.0
-
isNative
public static boolean isNative(int flags)
Returns whether the given integer includes thenativemodifier.- Parameters:
flags- the flags- Returns:
trueif thenativemodifier is included
-
isPackageDefault
public static boolean isPackageDefault(int flags)
Returns whether the given integer does not include one of thepublic,private, orprotectedflags.- Parameters:
flags- the flags- Returns:
trueif no visibility flag is set- Since:
- 3.2
-
isPrivate
public static boolean isPrivate(int flags)
Returns whether the given integer includes theprivatemodifier.- Parameters:
flags- the flags- Returns:
trueif theprivatemodifier is included
-
isProtected
public static boolean isProtected(int flags)
Returns whether the given integer includes theprotectedmodifier.- Parameters:
flags- the flags- Returns:
trueif theprotectedmodifier is included
-
isPublic
public static boolean isPublic(int flags)
Returns whether the given integer includes thepublicmodifier.- Parameters:
flags- the flags- Returns:
trueif thepublicmodifier is included
-
isStatic
public static boolean isStatic(int flags)
Returns whether the given integer includes thestaticmodifier.- Parameters:
flags- the flags- Returns:
trueif thestaticmodifier is included
-
isSuper
public static boolean isSuper(int flags)
Returns whether the given integer includes thesupermodifier.- Parameters:
flags- the flags- Returns:
trueif thesupermodifier is included- Since:
- 3.2
-
isStrictfp
public static boolean isStrictfp(int flags)
Returns whether the given integer includes thestrictfpmodifier.- Parameters:
flags- the flags- Returns:
trueif thestrictfpmodifier is included
-
isSynchronized
public static boolean isSynchronized(int flags)
Returns whether the given integer includes thesynchronizedmodifier.- Parameters:
flags- the flags- Returns:
trueif thesynchronizedmodifier 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:
trueif the element is marked synthetic
-
isTransient
public static boolean isTransient(int flags)
Returns whether the given integer includes thetransientmodifier.- Parameters:
flags- the flags- Returns:
trueif thetransientmodifier is included
-
isVolatile
public static boolean isVolatile(int flags)
Returns whether the given integer includes thevolatilemodifier.- Parameters:
flags- the flags- Returns:
trueif thevolatilemodifier is included
-
isBridge
public static boolean isBridge(int flags)
Returns whether the given integer has theAccBridgebit set.- Parameters:
flags- the flags- Returns:
trueif theAccBridgeflag is included- Since:
- 3.0
- See Also:
AccBridge
-
isVarargs
public static boolean isVarargs(int flags)
Returns whether the given integer has theAccVarargsbit set.- Parameters:
flags- the flags- Returns:
trueif theAccVarargsflag is included- Since:
- 3.0
- See Also:
AccVarargs
-
isEnum
public static boolean isEnum(int flags)
Returns whether the given integer has theAccEnumbit set.- Parameters:
flags- the flags- Returns:
trueif theAccEnumflag is included- Since:
- 3.0
- See Also:
AccEnum
-
isRecord
public static boolean isRecord(int flags)
Returns whether the given integer has theAccRecordbit set.- Parameters:
flags- the flags- Returns:
trueif theAccRecordflag is included- See Also:
AccRecord- Restriction:
- This method is not intended to be referenced by clients as it is a part of Java preview feature.
-
isAnnotation
public static boolean isAnnotation(int flags)
Returns whether the given integer has theAccAnnotationbit set.- Parameters:
flags- the flags- Returns:
trueif theAccAnnotationflag is included- Since:
- 3.0
- See Also:
AccAnnotation
-
isDefaultMethod
public static boolean isDefaultMethod(int flags)
Returns whether the given integer has theAccDefaultMethodbit 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:
trueif theAccDefaultMethodflag is included- Since:
- 3.10
- See Also:
AccDefaultMethod
-
isAnnnotationDefault
public static boolean isAnnnotationDefault(int flags)
Returns whether the given integer has theAccAnnnotationDefaultbit set.- Returns:
trueif theAccAnnotationDefaultflag is included- Since:
- 3.10
- See Also:
AccAnnotationDefault
-
isModule
public static boolean isModule(int flags)
Returns whether the given integer has theAccModulebit set.- Returns:
trueif theAccModuleflag 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
-
-