* For a working example, see \Drupal\content_moderation\Plugin\Workflow\ContentModerate
*
* @see \Drupal\workflows\WorkflowTypeInterface
- * @see \Drupal\workflows\WorkflowManager
+ * @see \Drupal\workflows\WorkflowTypeManager
+ * @see workflow_type_info_alter()
* @see plugin_api
*
* @Annotation
- *
- * @internal
- * The workflow system is currently experimental and should only be leveraged
- * by experimental modules and development releases of contributed modules.
*/
class WorkflowType extends Plugin {
/**
* The label of the workflow.
*
- * Describes how the plugin is used to apply a workflow to something.
- *
* @var \Drupal\Core\Annotation\Translation
*
* @ingroup plugin_translatable
*/
public $required_states = [];
+ /**
+ * A list of optional form classes implementing PluginFormInterface.
+ *
+ * Forms which will be used for the workflow UI are:
+ * - 'configure' (\Drupal\workflows\WorkflowTypeInterface::PLUGIN_FORM_KEY)
+ * - 'state' (\Drupal\workflows\StateInterface::PLUGIN_FORM_KEY)
+ * - 'transition' (\Drupal\workflows\TransitionInterface::PLUGIN_FORM_KEY)
+ *
+ * @see \Drupal\Core\Plugin\PluginWithFormsInterface
+ * @see \Drupal\Core\Plugin\PluginFormInterface
+ * @see \Drupal\workflows\Plugin\WorkflowTypeConfigureFormBase
+ * @see \Drupal\workflows\Plugin\WorkflowTypeStateFormBase
+ * @see \Drupal\workflows\Plugin\WorkflowTypeTransitionFormBase
+ * @see \Drupal\workflows\WorkflowTypeInterface::PLUGIN_FORM_KEY
+ * @see \Drupal\workflows\StateInterface::PLUGIN_FORM_KEY
+ * @see \Drupal\workflows\TransitionInterface::PLUGIN_FORM_KEY
+ *
+ * @var array
+ */
+ public $forms = [];
+
}