Indicates that a bean directly specializes another bean. May be applied to a bean class or producer method.
If a bean directly specializes a second bean, it inherits:
If the second bean has a name, the bean may not declare a name using @Named. Furthermore, the
bean must have all the bean types of the second bean.
@Specializes , then the bean class must directly extend the
bean class of a second managed bean. Then the first managed bean directly specializes the second managed bean.@Specializes , then the bean class must directly extend the
bean class of a second session bean. Then the first session bean directly specializes the second session bean.@Specializes, then it must be non-static and directly override another
producer method. Then the first producer method directly specializes the second producer method.If a bean is specialized by any enabled bean, the first bean is disabled.
CDI Lite implementations are not required to provide support for specialization.
| Modifier and Type | Class and Description |
|---|---|
| public static class | Specializes.Literal
Supports inline instantiation of the |
Specializes annotation.
| Modifier and Type | Field and Description |
|---|---|
| public static final Specializes. | |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public |
| INSTANCE | back to summary |
|---|---|
| public static final Specializes. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides jakarta. | |
| Literal | back to summary |
|---|---|
| public Literal() | |