public interface PluginDescriptor extends java.lang.Comparable<PluginDescriptor>
Modifier and Type | Method and Description |
---|---|
int |
compareTo(PluginDescriptor plugin)
Compares this plugin with another plugins.
|
boolean |
equals(java.lang.Object other)
return equality of plugins.
|
<T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass)
Return the annotation of the given class carried by this plugin.
|
<T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass,
int methodIndex)
Return the annotation of the method at the given index.
|
java.lang.String[] |
getCategories()
Return the set of categories.
|
java.lang.Class<? extends PluginContext> |
getContextType(int methodIndex)
Returns the context type required by the method at index methodIndex.
|
java.lang.String |
getHelp()
Return the help / description of the plugin.
|
javax.swing.ImageIcon |
getIcon() |
PluginDescriptorID |
getID()
returns the ID of this Plugin.
|
int |
getIndexInMethod(int methodIndex,
int globalParameterIndex)
Returns the index of the global parameter to the index of that parameter
in the given method.
|
int |
getIndexInParameterNames(int methodIndex,
int methodParameterIndex)
Returns the index of the method parameter of the given method in the list
of global parameters.
|
java.lang.String[] |
getKeywords()
Return the set of keywords.
|
java.lang.String |
getMethodHelp(int methodIndex)
Return the help / description of the given method, if specified.
|
java.lang.String |
getMethodLabel(int methodIndex)
Return the label of the given method, if specified.
|
int |
getMostSignificantResult()
Returns the index in the result array of the most significant result for
this plugin
|
java.lang.String |
getName()
Return the name of the plugin.
|
int |
getNumberOfMethods()
Return the number of methods in this plugin.
|
PackageDescriptor |
getPackage()
Return the package where the plug-in resides.
|
java.util.List<java.lang.String> |
getParameterNames()
Returns a list of labels that represent the possible parameters of this
plugin.
|
java.util.List<java.lang.String> |
getParameterNames(int methodIndex)
Returns a list of labels that represent the required parameters of the
method at the given index.
|
java.util.List<java.util.List<java.lang.Class<?>>> |
getParameterTypes()
returns a list of size
getNumberOfMethods() , such that
element at index i of the list equals
getParameterTypes(i) |
java.util.List<java.lang.Class<?>> |
getParameterTypes(int methodIndex)
Returns a list of types that represent the required parameters of the
method at the given index.
|
java.lang.String |
getPluginParameterName(int methodIndex,
int parameterIndex)
Return the label of the parameter at index
parameterIndex of
the method at methodIndex . |
java.lang.Class<?> |
getPluginParameterType(int methodIndex,
int parameterIndex)
Return the type of the parameter at index
parameterIndex of
the method at methodIndex . |
java.util.List<java.lang.String> |
getReturnNames()
returns the labels of the objects returned if this plugin is invoked, in
the order in which they are returned.
|
java.util.List<java.lang.Class<?>> |
getReturnTypes()
returns the types of the objects returned if this plugin is invoked, in
the order in which they are returned
|
java.util.Set<java.lang.Class<?>> |
getTypesAtParameterIndex(int globalParameterIndex)
Returns a list of types that can be accepted for the parameter at index
globalParameterIndex . |
java.net.URL |
getURL() |
boolean |
handlesCancel()
Returns whether the plugin handles termination itself.
|
boolean |
hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Check if this plugin carries the given annotation.
|
boolean |
hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass,
int methodIndex)
Check if the method at the given index carries the given annotation.
|
int |
hashCode()
return hashcode
|
PluginExecutionResult |
invoke(int methodIndex,
PluginContext context,
java.lang.Object... args)
Asynchronously invokes a method of this plugin.
|
boolean |
isUserAccessible()
Returns true if this plugin can be used by the end-users.
|
boolean |
meetsLevelThreshold()
Return whether this plug-in meets the level threshold.
|
boolean |
meetsQualityThreshold()
Return whether this plug-in meets the quality threshold.
|
java.lang.String |
toString()
Returns a String representation of the plugin
|
boolean hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
annotationClass
- boolean hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass, int methodIndex)
annotationClass
- <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass)
T
- annotationClass
- <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass, int methodIndex)
T
- annotationClass
- methodIndex
- PackageDescriptor getPackage()
java.lang.String getName()
int hashCode()
hashCode
in class java.lang.Object
boolean equals(java.lang.Object other)
equals
in class java.lang.Object
other
- java.lang.String toString()
toString
in class java.lang.Object
int getNumberOfMethods()
PluginExecutionResult invoke(int methodIndex, PluginContext context, java.lang.Object... args)
context.getParentContext().getPluginLifeCycleEventListeners().firePluginCreated(context);
methodIndex
- The index of the method to be invokedcontext
- the context in which this plugin should be invoked. The plugin
may assume that this context is meant only for its execution.args
- the objects to be passed to the plugin. These objects should
be in the right order. However, if ProMFuture
objects are provided, the plugin will synchronize on them.
This syncrhonization is performed in a fast-fail fashion, i.e.
the first future that results in an exception during execution
will result in an exception while invoking this plugin. This
exception is caught and the context is signaled about it.java.util.List<java.lang.Class<?>> getReturnTypes()
java.util.List<java.lang.String> getReturnNames()
PluginExecutionResult
object.java.util.List<java.util.List<java.lang.Class<?>>> getParameterTypes()
getNumberOfMethods()
, such that
element at index i
of the list equals
getParameterTypes(i)
java.util.List<java.lang.Class<?>> getParameterTypes(int methodIndex)
methodIndex
requires exectly the parameter types as provided
in the returned list, in that order.methodIndex
- java.util.List<java.lang.String> getParameterNames()
java.util.List<java.lang.String> getParameterNames(int methodIndex)
methodIndex
requires exactly the parameter labels as
provided in the returned list, in that order.methodIndex
- java.lang.Class<?> getPluginParameterType(int methodIndex, int parameterIndex)
parameterIndex
of
the method at methodIndex
.methodIndex
- 0 <= methodIndex < getNumberOfMethods()
parameterIndex
- 0 <= parameterIndex < getParameterTypes().size()
java.lang.String getPluginParameterName(int methodIndex, int parameterIndex)
parameterIndex
of
the method at methodIndex
.methodIndex
- 0 <= methodIndex < getNumberOfMethods()
parameterIndex
- 0 <= parameterIndex < getParameterTypes(methodIndex).size()
PluginDescriptorID getID()
java.lang.Class<? extends PluginContext> getContextType(int methodIndex)
methodIndex
- 0 <= methodIndex < getNumberOfMethods()
java.util.Set<java.lang.Class<?>> getTypesAtParameterIndex(int globalParameterIndex)
globalParameterIndex
. The parameter index is global, i.e.
not method specific. Instead, for each type t
in the set
returned by this method it is guaranteed that there is at least one
method (suppose at index i
), such that
getParameterType(i, getIndexInMethod(i, globalParameterIndex)) == t
globalParameterIndex
- 0 <= globalParameterIndex < getParameterNames().size()
int getIndexInParameterNames(int methodIndex, int methodParameterIndex)
methodIndex
- 0 <= methodIndex < getNumberOfMethods()
methodParameterIndex
- 0 <= methodParameterIndex < getParameterNames(methodIndex).size()
0 <= return < getParameterNames().size()
int getIndexInMethod(int methodIndex, int globalParameterIndex)
methodIndex
- 0 <= methodIndex < getNumberOfMethods()
globalParameterIndex
- 0 <= globalParameterIndex < getParameterNames().size()
-1 <= return < getParameterNames(methodIndex).size()
java.lang.String getMethodLabel(int methodIndex)
methodIndex
- int compareTo(PluginDescriptor plugin)
getName().toLowerCase()
for comparing. Only if names are
equal, then the IDs are used for comparison. Comparison should be
name-based between different implementing classes.compareTo
in interface java.lang.Comparable<PluginDescriptor>
boolean isUserAccessible()
boolean handlesCancel()
int getMostSignificantResult()
java.lang.String getHelp()
java.lang.String getMethodHelp(int methodIndex)
methodIndex
- java.lang.String[] getKeywords()
java.lang.String[] getCategories()
boolean meetsQualityThreshold()
boolean meetsLevelThreshold()
javax.swing.ImageIcon getIcon()
java.net.URL getURL()