Interface InnerClassInfo
public sealed interface InnerClassInfo
Models a single entry in the
InnerClassesAttribute.- See Java Virtual Machine Specification:
-
4.7.6 The
InnerClassesAttribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault Set<AccessFlag> flags()Returns a set of flag enums denoting access permissions and properties of the nested class.intReturns a bit mask of flags denoting access permissions and properties of the inner class.default booleanhas(AccessFlag flag) Returns whether a specific access flag is set.Returns the nested class described by this entry.Returns the simple name of this class, or empty if this class is anonymous.static InnerClassInfoof(ClassEntry innerClass, Optional<ClassEntry> outerClass, Optional<Utf8Entry> innerName, int flags) Returns a nested class description.static InnerClassInfoReturns a nested class description.static InnerClassInfoof(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) Returns a nested class description.Returns the class or interface of which this class is a member, if it is a member of a class or interface.
-
Method Details
-
innerClass
ClassEntry innerClass()Returns the nested class described by this entry.- Returns:
- the nested class described by this entry
-
outerClass
Optional<ClassEntry> outerClass()Returns the class or interface of which this class is a member, if it is a member of a class or interface. This may be empty if this class is local or anonymous.- Returns:
- the class or interface of which this class is a member, if it is a member of a class or interface
- See Also:
-
innerName
-
flagsMask
int flagsMask()Returns a bit mask of flags denoting access permissions and properties of the inner class. It is in the range of unsigned short,[0, 0xFFFF].- Returns:
- a bit mask of flags denoting access permissions and properties of the inner class
- See Also:
-
flags
Returns a set of flag enums denoting access permissions and properties of the nested class.- Returns:
- a set of flag enums denoting access permissions and properties of the nested class
- Throws:
IllegalArgumentException- if the flags mask has any undefined bit set- See Also:
-
has
Returns whether a specific access flag is set.- Parameters:
flag- the access flag- Returns:
- whether a specific access flag is set
- See Also:
-
of
static InnerClassInfo of(ClassEntry innerClass, Optional<ClassEntry> outerClass, Optional<Utf8Entry> innerName, int flags) Returns a nested class description.- Parameters:
innerClass- the nested class being describedouterClass- the class that has the nested class as a member, if it existsinnerName- the simple name of the nested class, if it is not anonymousflags- the inner class access flags- Returns:
- a nested class description
-
of
static InnerClassInfo of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) Returns a nested class description.- Parameters:
innerClass- the nested class being describedouterClass- the class that has the nested class as a member, if it existsinnerName- the simple name of the nested class, if it is not anonymousflags- the inner class access flags- Returns:
- a nested class description
- Throws:
IllegalArgumentException- ifinnerClassorouterClassrepresents a primitive type
-
of
static InnerClassInfo of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) Returns a nested class description.- Parameters:
innerClass- the nested class being describedouterClass- the class that has the nested class as a member, if it existsinnerName- the name of the nested class, if it is not anonymousflags- the inner class access flags- Returns:
- a nested class description
- Throws:
IllegalArgumentException- ifinnerClassorouterClassrepresents a primitive type, or if any flag cannot be applied to theAccessFlag.Location.INNER_CLASSlocation
-