Class PluginTaskConfiguration

java.lang.Object
com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
com.xebialabs.xlrelease.domain.PluginTaskConfiguration
All Implemented Interfaces:
ConfigurationItem, Serializable, Comparable<BaseConfigurationItem>

@Metadata(versioned=false, description="Base type for the configuration of a task type contributed by an OSGi plugin bundle") public class PluginTaskConfiguration extends BaseConfigurationItem
Base class for the configuration of a task type contributed by an OSGi plugin bundle.

A plugin author subclasses this in their bundle's type-definitions.xml to declare the input and output properties of their task type, and provides one TaskExecutorExtension bean whose getTaskType() returns that declared type name.

This is deliberately not a Task subclass. The host owns the task (PluginTask, which holds a configuration by containment); the author owns only the configuration. That keeps author-declared properties out of the namespace Task occupies, so declaring a property called owner or status is harmless rather than a collision with host state.

It is the same arrangement xlrelease.PythonScript has with CustomScriptTask - including the naming lesson: PythonScript's own Javadoc notes it "should be called PythonScriptDefinition". This one says what it is.

See Also:
  • Field Details

    • PLUGIN_TASK_PROPERTY

      public static final String PLUGIN_TASK_PROPERTY
      See Also:
    • PLUGIN_TASK_CONFIGURATION_ID

      public static final String PLUGIN_TASK_CONFIGURATION_ID
      Id suffix of the contained configuration, mirroring PythonScript.PYTHON_SCRIPT_ID. Deliberately "TaskConfiguration" rather than the barer "Configuration": CI ids are user-visible and long-lived, and Configuration is already a loaded word in this product (the xlrelease.Configuration type tree, the Configuration screens), so the barer name would read as one of those in a persisted id.
      See Also:
  • Constructor Details

    • PluginTaskConfiguration

      public PluginTaskConfiguration()
  • Method Details