Annotation Type Plugin
-
@Retention(RUNTIME) @Target({METHOD,TYPE}) public @interface Plugin
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.String
name
Returns the name identifying this plugin in a human readable way.java.lang.String[]
parameterLabels
Returns the labels of the parameters for this plugin.java.lang.String[]
returnLabels
Returns an Array of strings, such that each String is an initial label for a returned object.java.lang.Class<?>[]
returnTypes
Returns an Array of Class objects, such that each class object represents the type of the returned object at that index, i.e.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description PluginCategory[]
categories
Categories define the 'type' of functionality the plugin provides.boolean
handlesCancel
Whether this plugin handles cancel itself.java.lang.String
help
Returns the help / description for this plugin.java.lang.String
icon
java.lang.String[]
keywords
Keywords / tags for the plugin (extra description)PluginLevel
level
Indication of level for plug-in.int
mostSignificantResult
Returns the index + 1 in the result array of the most significant result for this plugin, i.e.PluginQuality
quality
Indication of quality for plug-in.java.lang.String
url
boolean
userAccessible
Signals the framework to make this plugin user-accessible.
-
-
-
-
returnTypes
java.lang.Class<?>[] returnTypes
Returns an Array of Class objects, such that each class object represents the type of the returned object at that index, i.e. the plugin should return as many objects as the length of this array, and each object should be of the type given in this array.- Returns:
-
-
-
parameterLabels
java.lang.String[] parameterLabels
Returns the labels of the parameters for this plugin. If the Plugin annotation is used on a method, then the number of elements in this array should correspond to the number of parameters that the method requires, not counting the first parameter of type PluginContext. If the plugin annotation is used on a class, then each variant should indicate which subset of parameters it requires. Each parameter should appear in at least one variant. Note that the types of the parameters are not specified in the annotation. Instead they are derived from the method definitions that contain the logic of this plugin. Parameters can be overloaded, i.e. the same parameter can have multiple types.- Returns:
-
-
-
mostSignificantResult
int mostSignificantResult
Returns the index + 1 in the result array of the most significant result for this plugin, i.e. if the first element in the array is the most significant, then the value of this parameter should be 1. If the plugin does not return anything interesting itself, but considers one of it's inputs to be the most significant one, then a negative value should be returned. I.e. if the first parameter is the most significant result, a value of -1 has to be returned. Note that this parameter should always be included in all variants- Returns:
- the index in the result array of the most significant result. If no results are returned by this plugin, anything can be returned. Defaults to 1
- Default:
- 1
-
-
-
categories
PluginCategory[] categories
Categories define the 'type' of functionality the plugin provides.- Default:
- {org.processmining.framework.plugin.annotations.PluginCategory.Analytics}
-
-
-
quality
PluginQuality quality
Indication of quality for plug-in.- Returns:
- Default:
- org.processmining.framework.plugin.annotations.PluginQuality.VeryPoor
-
-
-
level
PluginLevel level
Indication of level for plug-in.- Returns:
- Default:
- org.processmining.framework.plugin.annotations.PluginLevel.NightlyBuild
-
-