@Documented
@Target(value=java.lang.annotation.ElementType.ANNOTATION_TYPE)
@Retention(value=RUNTIME)
public @interface ComponentStereotype
UESComponent etc).Named and have attribute "value" for definition of component
name! ComponentStereotype.implementationAnnotations() for usage example.| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.Class<? extends java.lang.annotation.Annotation>[] |
implementationAnnotations
This attribute could be used only for component annotations with
ComponentStereotype.type()=ComponentStereotype.ComponentAnnotationType.INTERFACE or
ComponentStereotype.ComponentAnnotationType.INTERFACE_AND_IMPLEMENTATION interpreted as
interface type too. |
java.lang.String |
namePostfix |
java.lang.String |
namePrefix |
ComponentStereotype.ComponentAnnotationType |
type
Specifies where the component annotation could be used.
|
This attribute could be used only for component annotations with
ComponentStereotype.type()=ComponentStereotype.ComponentAnnotationType.INTERFACE or
ComponentStereotype.ComponentAnnotationType.INTERFACE_AND_IMPLEMENTATION interpreted as
interface type too.
The array of annotation classes must contain only annotations that satisfy following conditions:
ComponentStereotypeComponentStereotype.type() must be set to
ComponentStereotype.ComponentAnnotationType.IMPLEMENTATION or
ComponentStereotype.ComponentAnnotationType.INTERFACE_AND_IMPLEMENTATION interpreted as
implementation type too.The default value is interpreted as the array contains the annotation itself. But attention, the combination of {@link #type()}= {@link ComponentAnnotationType#INTERFACE} and {@link #implementationAnnotations()}={@code is not valid !!! Because component interface without implementation is not usable. So if you want use the same annotation to mark Interface and Implementation, than keep the default values for this attributes. This is used for example on {@link UESComponent} annotation.
Example:
ComponentStereotype.ComponentAnnotationType.ComponentStereotype.ComponentAnnotationType