com.smartgwt.client.util.workflow
Class XORGateway

java.lang.Object
  extended by com.smartgwt.client.core.BaseClass
      extended by com.smartgwt.client.util.workflow.ProcessElement
          extended by com.smartgwt.client.util.workflow.XORGateway

public class XORGateway
extends ProcessElement

Chooses one or another next process element based on AdvancedCriteria applied to 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. - implementation note: we need to allow the propertyName in simple Criteria or the criterion.name in AdvancedCriterion to a be path of the form "orderUser.name". This should be a general enhancement applied across the entire Criteria/AdvancedCriteria system.


Field Summary
 
Fields inherited from class com.smartgwt.client.core.BaseClass
config, id, scClassName
 
Constructor Summary
XORGateway()
           
XORGateway(JavaScriptObject jsObj)
           
XORGateway(String ID)
           
XORGateway(String ID, ProcessElement nextElement, ProcessElement failureElement)
           
XORGateway(String ID, String nextElement, String failureElement)
           
 
Method Summary
 JavaScriptObject create()
           
 Criteria getCriteria()
          Simple or AdvancedCriteria to be applied to the task inputs.
 String getFailureElement()
          ID of the next sequence or element to proceed to if the criteria do not match.
 String getNextElement()
          ID of the next sequence or {process.elements,element} to procede to if the criteria match the process state.
static XORGateway getOrCreateRef(JavaScriptObject jsObj)
           
 void setCriteria(Criteria criteria)
          Simple or AdvancedCriteria to be applied to the task inputs.
 void setFailureElement(ProcessElement failureElement)
           
 void setFailureElement(String failureElement)
          ID of the next sequence or element to proceed to if the criteria do not match.
 void setNextElement(ProcessElement nextElement)
           
 void setNextElement(String nextElement)
          ID of the next sequence or {process.elements,element} to procede to if the criteria match the process state.
 
Methods inherited from class com.smartgwt.client.util.workflow.ProcessElement
convertToJavaScriptArray, getID, getJsObj, getOrCreateJsObj, getProcessElements, isCreated, setAttribute, setID
 
Methods inherited from class com.smartgwt.client.core.BaseClass
destroy, doAddHandler, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getConfig, getHandlerCount, getRef, getScClassName, onInit, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setProperty, setProperty, setProperty, setProperty, 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(JavaScriptObject jsObj)

XORGateway

public XORGateway(String ID)

XORGateway

public XORGateway(String ID,
                  String nextElement,
                  String failureElement)

XORGateway

public XORGateway(String ID,
                  ProcessElement nextElement,
                  ProcessElement failureElement)
Method Detail

getOrCreateRef

public static XORGateway getOrCreateRef(JavaScriptObject jsObj)

create

public JavaScriptObject create()
Overrides:
create in class ProcessElement

setCriteria

public void setCriteria(Criteria criteria)
                 throws IllegalStateException
Simple or AdvancedCriteria to be applied to the task inputs. These will be applied to either the data indicated by the inputField or to the "inputRecord" if multiple input fields are declared (see taskIO).

Parameters:
criteria - criteria Default value is IR
Throws:
IllegalStateException - this property cannot be changed after the underlying component has been created

getCriteria

public Criteria getCriteria()
Simple or AdvancedCriteria to be applied to the task inputs. These will be applied to either the data indicated by the inputField or to the "inputRecord" if multiple input fields are declared (see taskIO).

Returns:
Criteria

setFailureElement

public void setFailureElement(String failureElement)
                       throws IllegalStateException
ID of the next sequence or element to proceed to if the criteria do not match.

Parameters:
failureElement - failureElement Default value is null
Throws:
IllegalStateException - this property cannot be changed after the underlying component has been created

getFailureElement

public String getFailureElement()
ID of the next sequence or element to proceed to if the criteria do not match.

Returns:
String

setNextElement

public void setNextElement(String nextElement)
                    throws IllegalStateException
ID of the next sequence or {process.elements,element} to procede to if the criteria match the process state. If this gateway is part of a sequence and has a next element in the sequence, nextElement does not need to be specified.

Overrides:
setNextElement in class ProcessElement
Parameters:
nextElement - nextElement Default value is null
Throws:
IllegalStateException - this property cannot be changed after the underlying component has been created

getNextElement

public String getNextElement()
ID of the next sequence or {process.elements,element} to procede to if the criteria match the process state. If this gateway is part of a sequence and has a next element in the sequence, nextElement does not need to be specified.

Overrides:
getNextElement in class ProcessElement
Returns:
String

setFailureElement

public void setFailureElement(ProcessElement failureElement)
                       throws IllegalStateException
Throws:
IllegalStateException
See Also:
setFailureElement(String)

setNextElement

public void setNextElement(ProcessElement nextElement)
                    throws IllegalStateException
Throws:
IllegalStateException
See Also:
setNextElement(String)