|
Last update: 2011-06-23 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.proteios.core.plugin.AbstractPlugin
public abstract class AbstractPlugin
This is an abstract base class useful for developing plugins. It's main purpose is to help with validating and storing request parameters into the plugin or job configuration.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.proteios.core.plugin.Plugin |
|---|
Plugin.MainType |
| Field Summary | |
|---|---|
protected ParameterValues |
configuration
|
protected ParameterValues |
job
|
protected SessionControl |
sc
|
| Constructor Summary | |
|---|---|
protected |
AbstractPlugin()
Create a new AbstractPlugin. |
| Method Summary | ||
|---|---|---|
void |
done()
Clears the variables set by the init method. |
|
void |
init(SessionControl sc,
ParameterValues configuration,
ParameterValues job)
Store copies of the session control, plugin and job configuration. |
|
protected
|
storeValue(ParameterValues values,
Request request,
PluginParameter<T> parameter)
Copy a parameter value from a Request to a ParameterValues
object. |
|
protected
|
storeValues(ParameterValues values,
Request request,
PluginParameter<T> parameter)
Copy a list of parameter values from a Request to a ParameterValues
object. |
|
protected List<Throwable> |
validateRequestParameters(List<PluginParameter<?>> parameters,
Request request)
Validate the parameter values in a request against a list of plugin parameter definitions. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.proteios.core.plugin.Plugin |
|---|
getAbout, getMainType, run |
| Field Detail |
|---|
protected SessionControl sc
protected ParameterValues configuration
protected ParameterValues job
| Constructor Detail |
|---|
protected AbstractPlugin()
AbstractPlugin.
| Method Detail |
|---|
public void init(SessionControl sc,
ParameterValues configuration,
ParameterValues job)
throws BaseException
sc, configuration
and job variables. If a subclass overrides this method it is
recommended that it also calls super.init(sc, configuration, job).
init in interface Pluginsc - A SessionControl object that the plugin
can use to communicate with the core.configuration - The configuration parameters for the pluginjob - The job parameters for the plugin
BaseException - if there is an error.public void done()
init method. If a subclass
overrides this method it is recommended that it also calls super.done().
done in interface Plugin
protected List<Throwable> validateRequestParameters(List<PluginParameter<?>> parameters,
Request request)
ParameterType.validate(String, List)
for each parameter in the list of parameter definitions. If all parameters are valid
this method returns null, otherwise a list of exceptions that ocurred during the validation.
This list can be directly propagated to the Response.setError(String, List)
method. For example:
// In Plugin.invoke() method:
List>PluginParameter<?>> parameters = getParametersForCommand(request.getCommand());
List<Throwable> errors =
validateRequestParameters(parameters, request);
if (errors != null)
{
response.setError(errors.size()+
" invalid parameter(s) were found in the request", errors);
return;
}
parameters - A list containing the parameter definitionsrequest - The request
protected <T> void storeValue(ParameterValues values,
Request request,
PluginParameter<T> parameter)
throws BaseException
Request to a ParameterValues
object. This method makes it easy for a subclass to directly store a request
parameter into either the plugin or job configuration. Use this method when
the parameter valus is a single value.
values - The ParameterValues object where the value should
be stored, use either configuration or jobrequest - The Request objectparameter - The ParameterType object for the parameter
BaseException - If the parameter value is invalid
protected <T> void storeValues(ParameterValues values,
Request request,
PluginParameter<T> parameter)
throws BaseException
Request to a ParameterValues
object. This method makes it easy for a subclass to directly store a request
parameter into either the plugin or job configuration. Use this method when the
parameter value is a list of values.
values - The ParameterValues object where the value should
be stored, use either configuration or jobrequest - The Request objectparameter - The ParameterType object for the parameter
BaseException - If the parameter value is invalid
|
Last update: 2011-06-23 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||