com.smartgwt.client.util.workflow

## Class XORGateway

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

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers

      public class XORGateway
      extends DecisionTask

  Chooses one or another next process element based on AdvancedCriteria applied to `Process.state`.

  If the AdvancedCriteria evaluate to true, the `nextElement` is chosen, otherwise the `failureElement`.

  Note that "XOR" in `XORGateway` means "exclusive or" - only one next element is chosen.

- - ### Field Summary

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

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

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.core.client.JavaScriptObject` | `create()`
    `static XORGateway` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setFailureElement(ProcessElement failureElement)`
    `void` | `setNextElement(ProcessElement nextElement)`

    - ### Methods inherited from class com.smartgwt.client.util.workflow.DecisionTask

      `getCriteria, getFailureElement, getNextElement, setCriteria, setFailureElement, setNextElement`

    - ### Methods inherited from class com.smartgwt.client.util.workflow.ProcessElement

      `completeElement, convertToJavaScriptArray, executeElement, getBindOutput, getClassDescription, getComponentReferences, getDescription, getDynamicValue, getEditorType, getElementDescription, getForceSingle, getID, getInvalidTaskMessage, getJsObj, getMockMode, getOrCreateJsObj, getPassThruOutput, getProcessElements, getSupportsMultipleInputRecords, getTextFormulaValue, getTypeTitle, getUndefinedComponentMessage, getUnresolvedComponentMessage, getWaitDuration, getWaitFor, getWaitLocator, isCreated, isValid, objectReferencesLastTaskOutput, onInit, reset, setAttribute, setBindOutput, setClassDescription, setDescription, setEditorType, setForceSingle, setID, setJavaScriptObject, setMockMode, setPassThruOutput, setSupportsMultipleInputRecords, setTypeTitle, setUndefinedComponentMessage, setUnresolvedComponentMessage, setWaitDuration, setWaitFor, setWaitLocator, updateGlobalIDInCriteria, updateGlobalIDInTextFormula, updateGlobalIDInValueProperty, updateGlobalIDInValues, updateGlobalIDReferences, updateLastElementBindingReferences, updateLastElementInCriteria, updateLastElementInValueProperty, updateLastElementInValues`

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

      `addDynamicProperty, 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, setAutoID, 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

    - #### XORGateway

          public XORGateway()

    - #### XORGateway

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

    - #### XORGateway

          public XORGateway(java.lang.String ID,
                            java.lang.String nextElement,
                            java.lang.String failureElement)

    - #### XORGateway

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### create

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

      Overrides:
        `create` in class `DecisionTask`

    - #### setFailureElement

          public void setFailureElement(ProcessElement failureElement)
                                 throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`
      See Also:
        `DecisionTask.setFailureElement(String)`

    - #### setNextElement

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

      Throws:
        `java.lang.IllegalStateException`
      See Also:
        `DecisionTask.setNextElement(String)`