com.smartgwt.client.util.workflow

## Class ProcessElement

- java.lang.Object
- - com.smartgwt.client.core.BaseClass
  - - com.smartgwt.client.util.workflow.ProcessElement

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers
  Direct Known Subclasses:
    ComponentTask, DecisionGateway, EndProcessTask, LogOutTask, ProcessSequence, ResetPasswordTask, SendTransactionTask, ShowMessageTask, ShowNotificationTask, StartTransactionTask, Task, UserConfirmationGateway, XORGateway

      public class ProcessElement
      extends BaseClass

  A ProcessElement is an abstract superclass for elements involved in a `Process`, such as a `Task` or `XORGateway`.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.BaseClass

      `config, configOnly, factoryCreated, factoryProperties, id, scClassName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProcessElement()`
    `ProcessElement(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `ProcessElement(java.lang.String ID)`
    `ProcessElement(java.lang.String ID, java.lang.String nextElement)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(ProcessElement[] array)`
    `com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.String` | `getClassDescription()` Optional description of the general nature of the kinds of tasks this this process element performs.
    `java.lang.String` | `getDescription()` Optional description for this specific instance of process element.
    `java.lang.String` | `getEditorType()` Editor type used to edit instances of this type of process element.
    `java.lang.String` | `getElementDescription()` Returns a text description of the element derived from the configuration.
    `java.lang.String` | `getID()` Optional ID for this process element, allowing it to be referred to from `Gateways`, or as the `Process.startElement`.
    `com.google.gwt.core.client.JavaScriptObject` | `getJsObj()`
    `java.lang.String` | `getNextElement()` Next `sequence` or `element` to execute after this one completes.
    `com.google.gwt.core.client.JavaScriptObject` | `getOrCreateJsObj()`
    `static ProcessElement` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getPassThruOutput()` Does this processElement pass through output from the last executed task (i.e.
    `ProcessElement[]` | `getProcessElements(java.lang.String attribute)`
    `java.lang.String` | `getTitle()` Optional short, descriptive title for this process element.
    `boolean` | `isCreated()`
    `protected void` | `onInit()`
    `ProcessElement` | `setAttribute(java.lang.String attribute, ProcessElement[] value, boolean allowPostCreate)`
    `ProcessElement` | `setClassDescription(java.lang.String classDescription)` Optional description of the general nature of the kinds of tasks this this process element performs.
    `ProcessElement` | `setDescription(java.lang.String description)` Optional description for this specific instance of process element.
    `ProcessElement` | `setEditorType(java.lang.String editorType)` Editor type used to edit instances of this type of process element.
    `ProcessElement` | `setID(java.lang.String ID)` Optional ID for this process element, allowing it to be referred to from `Gateways`, or as the `Process.startElement`.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `ProcessElement` | `setNextElement(java.lang.String nextElement)` Next `sequence` or `element` to execute after this one completes.
    `ProcessElement` | `setPassThruOutput(java.lang.Boolean passThruOutput)` Does this processElement pass through output from the last executed task (i.e.
    `ProcessElement` | `setTitle(java.lang.String title)` Optional short, descriptive title for this process element.

    - ### Methods inherited from class com.smartgwt.client.core.BaseClass

      `addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, asSGWTComponent, clearDynamicProperty, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getRef, getRuleScope, getScClassName, getTestInstance, hasAutoAssignedID, hasDynamicProperty, internalSetID, internalSetID, isConfigOnly, isFactoryCreated, onBind, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setFactoryCreated, setProperty, setProperty, setProperty, setProperty, setRuleScope, setScClassName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ProcessElement

          public ProcessElement()

    - #### ProcessElement

          public ProcessElement(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### ProcessElement

          public ProcessElement(java.lang.String ID)

    - #### ProcessElement

          public ProcessElement(java.lang.String ID,
                                java.lang.String nextElement)

  - ### Method Detail

    - #### getOrCreateRef

          public static ProcessElement getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `BaseClass`

    - #### create

          public com.google.gwt.core.client.JavaScriptObject create()

      Specified by:
        `create` in class `BaseClass`

    - #### isCreated

          public boolean isCreated()

      Overrides:
        `isCreated` in class `BaseClass`

    - #### getJsObj

          public com.google.gwt.core.client.JavaScriptObject getJsObj()

      Overrides:
        `getJsObj` in class `BaseClass`

    - #### getOrCreateJsObj

          public com.google.gwt.core.client.JavaScriptObject getOrCreateJsObj()

      Overrides:
        `getOrCreateJsObj` in class `BaseClass`

    - #### setClassDescription

          public ProcessElement setClassDescription(java.lang.String classDescription)
                                             throws java.lang.IllegalStateException

      Optional description of the general nature of the kinds of tasks this this process element performs. Not to be confused with `description` which describes what the specific instance of the process element has been configured to do.

      For example, the `classDescription` for a task to disable a field might be "disables a field" whereas the `description` for a concrete instance might be "disables the 'shipTo' field in the 'ordering' form".

      Used by editor to display additional details along with `title`.

      Parameters:
        `classDescription` - New classDescription value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getClassDescription

          public java.lang.String getClassDescription()

      Optional description of the general nature of the kinds of tasks this this process element performs. Not to be confused with `description` which describes what the specific instance of the process element has been configured to do.

      For example, the `classDescription` for a task to disable a field might be "disables a field" whereas the `description` for a concrete instance might be "disables the 'shipTo' field in the 'ordering' form".

      Used by editor to display additional details along with `title`.

      Returns:
        Current classDescription value. Default value is null

    - #### setDescription

          public ProcessElement setDescription(java.lang.String description)
                                        throws java.lang.IllegalStateException

      Optional description for this specific instance of process element.
      Parameters:
        `description` - New description value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getDescription

          public java.lang.String getDescription()

      Optional description for this specific instance of process element.
      Returns:
        Current description value. Default value is null

    - #### setEditorType

          public ProcessElement setEditorType(java.lang.String editorType)
                                       throws java.lang.IllegalStateException

      Editor type used to edit instances of this type of process element.
      Parameters:
        `editorType` - New editorType value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getEditorType

          public java.lang.String getEditorType()

      Editor type used to edit instances of this type of process element.
      Returns:
        Current editorType value. Default value is null

    - #### setID

          public ProcessElement setID(java.lang.String ID)
                               throws java.lang.IllegalStateException

      Optional ID for this process element, allowing it to be referred to from `Gateways`, or as the `Process.startElement`. See `ProcessSequence` and `Process` to understand when this is required or can be omitted.

      Unlike `Canvas.ID` a `processElement`'s is a not a globally unique variable, it need only by unique within it's process.

      When assigned an ID, a `processElement` can be retrieve via `Process.getElement()`.

      Overrides:
        `setID` in class `BaseClass`
      Parameters:
        `ID` - New ID value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getID

          public java.lang.String getID()

      Optional ID for this process element, allowing it to be referred to from `Gateways`, or as the `Process.startElement`. See `ProcessSequence` and `Process` to understand when this is required or can be omitted.

      Unlike `Canvas.ID` a `processElement`'s is a not a globally unique variable, it need only by unique within it's process.

      When assigned an ID, a `processElement` can be retrieve via `Process.getElement()`.

      Overrides:
        `getID` in class `BaseClass`
      Returns:
        Current ID value. Default value is null

    - #### setNextElement

          public ProcessElement setNextElement(java.lang.String nextElement)
                                        throws java.lang.IllegalStateException

      Next `sequence` or `element` to execute after this one completes.

      `nextElement` does not need to be specified on most elements if you use `sequences`.

      Note that if there is both a `sequence` and a normal `element` with the same name in the current `Process`, the `sequence` will be used.

      Parameters:
        `nextElement` - New nextElement value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getNextElement

          public java.lang.String getNextElement()

      Next `sequence` or `element` to execute after this one completes.

      `nextElement` does not need to be specified on most elements if you use `sequences`.

      Note that if there is both a `sequence` and a normal `element` with the same name in the current `Process`, the `sequence` will be used.

      Returns:
        Current nextElement value. Default value is null

    - #### setPassThruOutput

          public ProcessElement setPassThruOutput(java.lang.Boolean passThruOutput)
                                           throws java.lang.IllegalStateException

      Does this processElement pass through output from the last executed task (i.e. transient state)? See `taskInputExpressions` for details on the transient state.
      Parameters:
        `passThruOutput` - New passThruOutput value. Default value is true
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getPassThruOutput

          public java.lang.Boolean getPassThruOutput()

      Does this processElement pass through output from the last executed task (i.e. transient state)? See `taskInputExpressions` for details on the transient state.
      Returns:
        Current passThruOutput value. Default value is true

    - #### setTitle

          public ProcessElement setTitle(java.lang.String title)
                                  throws java.lang.IllegalStateException

      Optional short, descriptive title for this process element. Used by an editor a title for process elements of this type.
      Parameters:
        `title` - New title value. Default value is null
      Returns:
        `ProcessElement` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getTitle

          public java.lang.String getTitle()

      Optional short, descriptive title for this process element. Used by an editor a title for process elements of this type.
      Returns:
        Current title value. Default value is null

    - #### getElementDescription

          public java.lang.String getElementDescription()

      Returns a text description of the element derived from the configuration.

      If no override is provided by the concrete ProcessElement implementation the `description` or `ID` is returned.

      Returns:
        the derived element description

    - #### onInit

          protected void onInit()

      Overrides:
        `onInit` in class `BaseClass`

    - #### setAttribute

          public ProcessElement setAttribute(java.lang.String attribute,
                                             ProcessElement[] value,
                                             boolean allowPostCreate)

    - #### getProcessElements

          public ProcessElement[] getProcessElements(java.lang.String attribute)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(ProcessElement[] array)