diff --git a/spec/src/main/asciidoc/core/definition.asciidoc b/spec/src/main/asciidoc/core/definition.asciidoc index 108028cd..47708466 100644 --- a/spec/src/main/asciidoc/core/definition.asciidoc +++ b/spec/src/main/asciidoc/core/definition.asciidoc @@ -81,7 +81,7 @@ The bean types of a bean are used by the rules of typesafe resolution defined in Almost any Java type may be a bean type of a bean: -* A bean type may be an interface, a concrete class or an abstract class, and may be declared final or have final methods. +* A bean type may be an interface, a concrete class or an abstract class or a record, may be declared sealed or non-sealed or final, and may have final methods. * A bean type may be a parameterized type with actual type parameters and type variables. * A bean type may be an array type. Two array types are considered identical only if the element type is identical. diff --git a/spec/src/main/asciidoc/core/implementation.asciidoc b/spec/src/main/asciidoc/core/implementation.asciidoc index 4b41305b..1b641f4b 100644 --- a/spec/src/main/asciidoc/core/implementation.asciidoc +++ b/spec/src/main/asciidoc/core/implementation.asciidoc @@ -32,6 +32,7 @@ If the managed bean class is a generic type, it must have scope `@Dependent`. If A Java class is a managed bean if it meets all of the following conditions: * It is not an inner class. +* It is not a sealed class. * It is a non-abstract class. * It does not implement `jakarta.enterprise.inject.spi.Extension` or `jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension`. * It is not annotated `@Vetoed` or in a package annotated `@Vetoed`. @@ -662,6 +663,8 @@ Certain legal bean types cannot be proxied by the container: * classes which don't have a non-private constructor with no parameters, * classes which are declared final, * classes which have non-static, final methods with public, protected or default visibility, +* records, +* sealed classes and sealed interfaces, * primitive types, * and array types.