Package io.annot8.core.capabilities
Capabilities may be set using annotations on the component, or by the component returning a Capabilities object.
In the case the components' capabilities are configuration dependent, the capabilities should
be returned using buildCapabilities on AnnotationCapability.
This is typically the case where say the type of an annotation created is a configuration option.
The annotations can be used, but these fixed at development time so can not take into runtime configuration.
You can mix and match the annotation and capabiltiies, they will be fused together by Annot8. It is recommended that the annotation are used where possible as these are clearer to other developers and to the framework.
For clarity capabilities are used as an optimisation (eg for pipeline ordering). Your component should not assume that it will have the resource it has declared a requirement for - it should not crash if requirements are not the case.
-
Interface Summary Interface Description Capabilities Base capabilities interface used to describe the capabilities of a component.Capabilities.Builder Builder for capabilties -
Class Summary Class Description AnnotationCapability Specification for annotation created, processed or deleted by a component.ContentCapability Specification for content created, processed or deleted by a component.GroupCapability Specification for group created, processed or deleted by a component.ResourceCapability Specification for resource used by a component. -
Annotation Types Summary Annotation Type Description CreatesAnnotation Denotes the annotation types which the component will output.CreatesAnnotations Wrapper for repeatedCreatesAnnotation.CreatesContent Denotes that the component will generate content.CreatesContents Wrapper for repeatedCreatesContent.CreatesGroup Denotes the group types the component may output.CreatesGroups Wrapper for repeatedCreatesGroup.DeletesAnnotation Denotes the annotation types which the component will delete.DeletesAnnotations DeletesContent Denotes that the component will delete content.DeletesContents Wrapper for repeatedDeletesContent.DeletesGroup Denotes the group types the component may delete.DeletesGroups Wrapper for repeatedDeletesGroup.ProcessesAnnotation Denotes the annotation types which are processed by the component.ProcessesAnnotations Wrapper for repeatedProcessesAnnotation.ProcessesContent Denotes the content classes that the component will act uponProcessesContents Wrapper for repeatedProcessesContent.ProcessesGroup Denotes the groups types which are processed by the component.ProcessesGroups Wrapper for repeatedProcessesGroup.UsesResource The resources which this component may or will use.UsesResources Wrapper for repeatedUsesResource.