Module io.smallrye.classfile
Package io.smallrye.classfile.attribute
Interface PermittedSubclassesAttribute
- All Superinterfaces:
Attribute<PermittedSubclassesAttribute>,ClassElement,ClassFileElement
public sealed interface PermittedSubclassesAttribute
extends Attribute<PermittedSubclassesAttribute>, ClassElement
Models the
,
and which classes or interfaces may extend or implement this class or
interface.
PermittedSubclasses
attribute (JVMS ), which indicates this class or interface
is
invalid reference
sealed
This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.
The attribute was introduced in the Java SE Platform version 17, major version 61.
- Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic PermittedSubclassesAttributeof(ClassEntry... permittedSubclasses) Returns aPermittedSubclassesattribute.static PermittedSubclassesAttributeof(List<ClassEntry> permittedSubclasses) Returns aPermittedSubclassesattribute.static PermittedSubclassesAttributeReturns aPermittedSubclassesattribute.static PermittedSubclassesAttributeReturns aPermittedSubclassesattribute.Returns the list of permitted subclasses or subinterfaces.Methods inherited from interface io.smallrye.classfile.Attribute
attributeMapper, attributeName
-
Method Details
-
permittedSubclasses
List<ClassEntry> permittedSubclasses()Returns the list of permitted subclasses or subinterfaces.- Returns:
- the list of permitted subclasses or subinterfaces
- See Also:
-
of
Returns aPermittedSubclassesattribute.- Parameters:
permittedSubclasses- the permitted subclasses or subinterfaces- Returns:
- a
PermittedSubclassesattribute - Throws:
IllegalArgumentException- if the number of permitted subclasses or subinterfaces exceeds the limit ofu2
-
of
Returns aPermittedSubclassesattribute.- Parameters:
permittedSubclasses- the permitted subclasses or subinterfaces- Returns:
- a
PermittedSubclassesattribute - Throws:
IllegalArgumentException- if the number of permitted subclasses or subinterfaces exceeds the limit ofu2
-
ofSymbols
Returns aPermittedSubclassesattribute.- Parameters:
permittedSubclasses- the permitted subclasses or subinterfaces- Returns:
- a
PermittedSubclassesattribute - Throws:
IllegalArgumentException- if any ofpermittedSubclassesis primitive, or if the number of permitted subclasses or subinterfaces exceeds the limit ofu2
-
ofSymbols
Returns aPermittedSubclassesattribute.- Parameters:
permittedSubclasses- the permitted subclasses or subinterfaces- Returns:
- a
PermittedSubclassesattribute - Throws:
IllegalArgumentException- if any ofpermittedSubclassesis primitive, or if the number of permitted subclasses or subinterfaces exceeds the limit ofu2
-