Package io.gdcc.spi.meta.annotations
Annotation Interface DataversePlugin
Marks a concrete plugin implementation class for metadata generation.
Plugin authors should place this annotation on every concrete plugin implementation class that is meant to be discovered and loaded by Dataverse.
Annotated classes are validated by the annotation processor
and contribute generated compatibility metadata used during plugin loading.
Implementation rules:
- the annotated type must be a
public, non-abstract class, - it must implement exactly one
base contract, - it may additionally implement any number of
capability contracts.
A capability contract is never loadable on its own. A plugin implementing a capability must also implement the capability's required base contract. The base contract is the single hook the Dataverse core uses to discover and load your plugin.
- Implementation Note:
- Example where
Exporteris a base contract andFooExportera capability:@DataversePlugin public class MyBarExporter implements Exporter, FooExporter { // Your implementation goes here... }