flux
Interface FlowChart

All Superinterfaces:
java.lang.Cloneable, java.io.Serializable

public interface FlowChart
extends java.lang.Cloneable, java.io.Serializable

Represents a set of actions (and triggers) and the flows between them. Any changes made to this object, or objects reachable from this object, do not take effect until this object passed to an engine. Note that the first action (or trigger) created from a flow chart is automatically set as a start action. A start action marks the beginning of the flow chart. To set additional actions as start actions, call Action.setStartAction() on appropriate actions (or triggers) in this flow chart.

Author:
Copyright 2014 Flux Corporation. All rights reserved.

Method Summary
 java.lang.Object clone()
           
 Action getAction(java.lang.String name)
          Returns the existing action with the given name.
 java.util.Set<Action> getActions()
          Returns all actions in the flow chart.
 java.util.Set<java.lang.String> getAllSignals()
          Returns all signals that are raised, cleared, monitored, or specified as a flow condition in this flow chart.
 java.util.Date getDeadline()
          Returns the date when this flow chart or denoted flow chart run should finish execution.
 java.lang.String getDeadlineTimeExpression()
          Returns the time expression used to set the deadline for this flow chart.
 java.lang.String getDeadlineWindow()
          Returns the time expression that indicates when to publish the DeadlineApproachingEvent to the audit trail.
 java.lang.String getDescription()
          Returns a description of this flow chart meant for human consumption.
 FlowContextStatus getFlowContextStatus()
          Returns one of the running flow context statuses from a running flow chart.
 java.util.Set<FlowContextStatus> getFlowContextStatuses()
          Returns the running flow context statuses from a running flow chart.
 java.util.Set<Flow> getFlows()
          Returns the set of all flows in this flow chart.
 java.lang.String getListenerClasspath()
          Returns the listener classpath for this flow chart, which is used to load listener classes for Java Action and Dynamic Java Action.
 java.lang.String getName()
          Returns the name of this flow chart.
 java.lang.Integer getPriority()
          Returns the priority of this flow chart, if explicitly set, which overrides any priority set in the runtime configuration.
 java.lang.String getRunAsUser()
          Returns the username under whose security context this flow chart executes; applicable for secure Flux engines only.
 VariableManager getVariableManager()
          Returns the variable manager for this flow chart.
 boolean isPaused()
          Determines whether the flow chart is paused.
 ActionPropertyTarget makeActionPropertyTarget(java.lang.String name)
          Creates an action property target, for use in runtime data mapping.
 AuditTrailTrigger makeAuditTrailTrigger(java.lang.String name)
          Creates an audit trail trigger, which waits for an audit trail event to be recorded.
 ConsoleAction makeConsoleAction(java.lang.String name)
          Creates a console action, which can print data to the console.
 DatabaseConditionAction makeDatabaseConditionAction(java.lang.String name)
          Creates a Database Condition Action, which queries a database to test whether certain conditions are satisfied within the database.
 DatabaseConditionTrigger makeDatabaseConditionTrigger(java.lang.String name)
          Creates a Database Condition Trigger, which periodically queries a database to test whether certain conditions are satisfied within the database.
 DatabaseQueryAction makeDatabaseQueryAction(java.lang.String name)
          Creates a Database Query Action, which executes queries in a database.
 DatabaseStoredProcedureAction makeDatabaseStoredProcedureAction(java.lang.String name)
          Creates a Database Stored Procedure Action, which calls stored procedures in a database.
 DatabaseUpdateAction makeDatabaseUpdateAction(java.lang.String name)
          Creates an Database Update Action, which executes statements in a database.
 Decision makeDecision(java.lang.String name)
          Creates a Decision node, which makes an explicit decision, or conditional branch, in a flow chart.
 DelayTrigger makeDelayTrigger(java.lang.String name)
          Creates a delay trigger, which pauses for a while before firing.
 DynamicJavaAction makeDynamicJavaAction(java.lang.String name)
          Creates a dynamic Java action, which can execute arbitrary Java classes.
 DynamicRmiAction makeDynamicRmiAction(java.lang.String name)
          Creates a dynamic RMI action, which can execute arbitrary methods on remote Java objects.
 ErrorAction makeErrorAction(java.lang.String name)
          Creates an error action, which throws an exception and forces error processing to occur.
 java.lang.Object makeFactory(java.lang.String name)
          Creates a custom factory for creating custom actions and triggers.
 FileFactory makeFileFactory()
          Creates a file factory, which can create file actions and triggers.
 FlowChartAction makeFlowChartAction(java.lang.String name)
          Creates a Flow Chart Action, which can export a new flow chart to the engine.
 FlowChartSource makeFlowChartSource(java.lang.String name)
          Creates a flow chart variable source for use in runtime data mapping.
 FlowChartTarget makeFlowChartTarget(java.lang.String name)
          Creates a flow chart variable target for use in runtime data mapping.
 FlowChartTrigger makeFlowChartTrigger(java.lang.String name)
          Creates a Flow Chart Trigger, which waits for other flow charts to finish before firing.
 FlowContextSource makeFlowContextSource(java.lang.String name)
          Creates a flow context source, for use in runtime data mapping.
 FlowContextTarget makeFlowContextTarget(java.lang.String name)
          Creates a flow context target, for use in runtime data mapping.
 ForEachCollectionElementAction makeForEachCollectionElementAction(java.lang.String name)
          Creates a for each collection element action, which makes each element in a collection available for individual processing in a flow chart.
 ForEachNumberAction makeForEachNumberAction(java.lang.String name)
          Creates a for each number action, which counts numbers that fall within a range of numbers.
 J2eeFactory makeJ2eeFactory()
          Creates a J2EE factory, which can create J2EE triggers and actions.
 JavaAction makeJavaAction(java.lang.String name)
          Creates a Java Action, which can execute arbitrary Java classes.
 Join makeJoin(java.lang.String name)
          Creates a Join node, which merges multiple incoming flows into a single flow.
 ManualTrigger makeManualTrigger(java.lang.String name)
          Creates a manual trigger, which fires when expedited.
 NotificationFactory makeNotificationFactory()
          Creates a notification factory, which can create notification triggers and actions.
 NullAction makeNullAction(java.lang.String name)
          Creates an action that does nothing.
 ProcessAction makeProcessAction(java.lang.String name)
          Creates a process action, which executes native processes and command line programs.
 RegularExpressionAction makeRegularExpressionAction(java.lang.String name)
          Creates a Regular Expression Action, which can determine if a string or the contents of a file match a regular expression and optionally replace matches.
 RestAction makeRestAction(java.lang.String name)
          Creates a new rest action, which can invoke REST services.
 RmiAction makeRmiAction(java.lang.String name)
          Creates an RMI action, which executes a method on a remote object.
 RuntimeConfigurationSource makeRuntimeConfigurationSource(java.lang.String name)
          Creates a runtime configuration source, for use in runtime data mapping.
 Split makeSplit(java.lang.String name)
          Creates a Split node, which activates multiple outgoing flows in parallel.
 TimerTrigger makeTimerTrigger(java.lang.String name)
          Creates a new timer trigger, which automatically fires at specified times.
 WebServiceAction makeWebService(java.lang.String name)
          Creates a new web service action, which can invoke web services.
 void pause()
          Pauses this flow chart, that is, pauses all execution flow contexts in this flow chart.
 boolean removeAction(java.lang.String actionName)
          Removes the specified action from this flow chart.
 void reset()
          Resets this flow chart's attributes to their original values.
 void resume()
          Resumes this flow chart after a previous pause.
 void setDeadline(java.util.Date deadline)
          Sets the date when this flow chart or denoted flow chart run should finish execution.
 void setDeadline(java.lang.String timeExpression)
          Sets the deadline for this flow chart or denoted flow chart run using a time expression.
 void setDeadlineWindow(java.lang.String timeExpression)
          Sets a relative time expression which specifies when to publish the DeadlineApproachingEvent to the audit trail, expression is relative to the deadline date.
 void setDescription(java.lang.String description)
          Sets a description of this flow chart meant for human consumption.
 void setListenerClasspath(java.lang.String classpath)
          Sets the listener classpath for this flow chart, which is used to load listener classes for Java Action and Dynamic Java Action.
 void setName(java.lang.String name)
          Sets the name of this flow chart in the flow chart namespace.
 void setPriority(java.lang.Integer priority)
          Sets the priority of this flow chart, which overrides any priority set in the runtime configuration.
 void setRunAsUser(java.lang.String runAsUser)
          Sets the username under whose security context this flow chart executes; applicable for secure Flux engines only.
 void verify()
          Indicates whether this flow chart and all the actions within this flow chart are configured correctly.
 java.util.SortedMap verifyAll()
          Finds all actions within this flow chart, including the flow chart itself, which failed verification and returns all of their error messages, sorted by action name.
 java.util.SortedMap verifyAllOnClient()
          Finds all actions within this flow chart, including the flow chart itself, which failed client verification and returns all of their error messages, sorted by action name.
 void verifyOnClient()
          Indicates whether this flow chart and all the actions within this flow chart are configured correctly on or in a client, not necessarily on or in a server.
 

Method Detail

clone

java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

getAction

Action getAction(java.lang.String name)
Returns the existing action with the given name.

Parameters:
name - The name of the action to find.
Returns:
The existing action with the given name.
Throws:
java.lang.IllegalArgumentException - If an action with the given name does not exist.

getActions

java.util.Set<Action> getActions()
Returns all actions in the flow chart.

Returns:
All actions for the flow chart.

getAllSignals

java.util.Set<java.lang.String> getAllSignals()
Returns all signals that are raised, cleared, monitored, or specified as a flow condition in this flow chart.

Returns:
Returns all signals that are raised, cleared, monitored, or specified as a flow condition in this flow chart.

getDeadline

java.util.Date getDeadline()
Returns the date when this flow chart or denoted flow chart run should finish execution. An event is recorded to the audit trail if this flow chart does not complete execution by the deadline.

Returns:
The date when this flow chart or denoted flow chart run should finish execution or null if a deadline is not set.

getDeadlineTimeExpression

java.lang.String getDeadlineTimeExpression()
Returns the time expression used to set the deadline for this flow chart.

Returns:
The time expression used to set the deadline for this flow chart.

getDeadlineWindow

java.lang.String getDeadlineWindow()
Returns the time expression that indicates when to publish the DeadlineApproachingEvent to the audit trail.

Returns:
The time expression that indicates when to publish the DeadlineApproachingEvent to the audit trail.
See Also:
DeadlineApproachingEvent

getDescription

java.lang.String getDescription()
Returns a description of this flow chart meant for human consumption.

Returns:
A description of this flow chart meant for human consumption.

getFlowContextStatus

FlowContextStatus getFlowContextStatus()
Returns one of the running flow context statuses from a running flow chart. These flow context statuses describe the executing flows within a running flow chart. A flow chart may have one or more running flows. This method returns an arbitrary flow.

Returns:
One of the running flow context statuses from this flow chart.

getFlowContextStatuses

java.util.Set<FlowContextStatus> getFlowContextStatuses()
Returns the running flow context statuses from a running flow chart. These flow context statuses describe the executing flows within a running flow chart. A flow chart may have one or more running flows.

Returns:
The running flow context statuses from this flow chart.

getFlows

java.util.Set<Flow> getFlows()
Returns the set of all flows in this flow chart.

Returns:
Contains all flows in this flow chart.

getListenerClasspath

java.lang.String getListenerClasspath()
Returns the listener classpath for this flow chart, which is used to load listener classes for Java Action and Dynamic Java Action. If null, the listener classpath from the runtime configuration tree is used instead. By default, this property is null.

Returns:
The listener classpath for this flow chart, which is used to load listener classes for Java Action and Dynamic Java Action.
See Also:
RuntimeConfigurationNode.LISTENER_CLASSPATH

getName

java.lang.String getName()
Returns the name of this flow chart.

Returns:
The name of this flow chart.

getPriority

java.lang.Integer getPriority()
Returns the priority of this flow chart, if explicitly set, which overrides any priority set in the runtime configuration. Returns null if not explicitly set. A null flow chart priority allows the runtime configuration priority to take precedence.

Returns:
The priority of this flow chart, if explicitly set. Returns null if not explicitly set.
See Also:
RuntimeConfigurationNode.PRIORITY

getRunAsUser

java.lang.String getRunAsUser()
Returns the username under whose security context this flow chart executes; applicable for secure Flux engines only.

If this property is null, this flow chart runs as the user specified in the runtime configuration tree. If no such user is specified, this flow chart runs as the user who submitted this flow chart to a Flux engine.

Returns:
The username under whose security context this flow chart executes.
See Also:
RuntimeConfigurationNode.RUN_AS_USER

getVariableManager

VariableManager getVariableManager()
Returns the variable manager for this flow chart. Flow charts can have persistent variables associated with them for use by their encapsulated actions.

Returns:
The variable manager for this flow chart.

isPaused

boolean isPaused()
Determines whether the flow chart is paused. A flow chart is considered paused if there is at least one execution flow context in the paused sub-state.

Returns:
True if the flow chart is paused, otherwise false.

makeActionPropertyTarget

ActionPropertyTarget makeActionPropertyTarget(java.lang.String name)
Creates an action property target, for use in runtime data mapping.

Parameters:
name - The name of the runtime data mapping.
Returns:
A new action property target.

makeAuditTrailTrigger

AuditTrailTrigger makeAuditTrailTrigger(java.lang.String name)
Creates an audit trail trigger, which waits for an audit trail event to be recorded.

Parameters:
name - The name of the trigger.
Returns:
A new audit trail trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeConsoleAction

ConsoleAction makeConsoleAction(java.lang.String name)
Creates a console action, which can print data to the console.

Parameters:
name - The name of the action.
Returns:
A new console action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDatabaseConditionAction

DatabaseConditionAction makeDatabaseConditionAction(java.lang.String name)
Creates a Database Condition Action, which queries a database to test whether certain conditions are satisfied within the database.

Parameters:
name - The name of the action.
Returns:
A new database condition action.
Throws:
java.lang.IllegalArgumentException - If name is already used.
See Also:
makeDatabaseConditionTrigger(String)

makeDatabaseConditionTrigger

DatabaseConditionTrigger makeDatabaseConditionTrigger(java.lang.String name)
Creates a Database Condition Trigger, which periodically queries a database to test whether certain conditions are satisfied within the database.

Parameters:
name - The name of the trigger.
Returns:
A new database condition trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.
See Also:
makeDatabaseConditionAction(String)

makeDatabaseQueryAction

DatabaseQueryAction makeDatabaseQueryAction(java.lang.String name)
Creates a Database Query Action, which executes queries in a database.

Parameters:
name - The name of the action.
Returns:
A new database query action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDatabaseStoredProcedureAction

DatabaseStoredProcedureAction makeDatabaseStoredProcedureAction(java.lang.String name)
Creates a Database Stored Procedure Action, which calls stored procedures in a database.

Parameters:
name - The name of the action.
Returns:
A new database stored procedure action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDatabaseUpdateAction

DatabaseUpdateAction makeDatabaseUpdateAction(java.lang.String name)
Creates an Database Update Action, which executes statements in a database.

Parameters:
name - The name of the action.
Returns:
A new database update action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDecision

Decision makeDecision(java.lang.String name)
Creates a Decision node, which makes an explicit decision, or conditional branch, in a flow chart.

Parameters:
name - The name of the Decision.
Returns:
A new Decision node.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDelayTrigger

DelayTrigger makeDelayTrigger(java.lang.String name)
Creates a delay trigger, which pauses for a while before firing.

Parameters:
name - The name of the trigger.
Returns:
A new delay trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDynamicJavaAction

DynamicJavaAction makeDynamicJavaAction(java.lang.String name)
Creates a dynamic Java action, which can execute arbitrary Java classes. These Java classes do not have to implement any pre-defined interfaces.

Parameters:
name - The name of this action.
Returns:
A new dynamic Java action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeDynamicRmiAction

DynamicRmiAction makeDynamicRmiAction(java.lang.String name)
Creates a dynamic RMI action, which can execute arbitrary methods on remote Java objects. These Java objects do not have to implement any pre-defined interfaces.

Parameters:
name - The name of this action.
Returns:
A new dynamic RMI action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeErrorAction

ErrorAction makeErrorAction(java.lang.String name)
Creates an error action, which throws an exception and forces error processing to occur.

Parameters:
name - The name of this action.
Returns:
A new error action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeFactory

java.lang.Object makeFactory(java.lang.String name)
                             throws EngineException
Creates a custom factory for creating custom actions and triggers. Factory classes are registered in a file called "factories.properties", which must be located on the system class path, on the current class loader's class path, or in the directory where the JVM is started, which is specified by the system property "user.dir". The format of this properties file is:

 FACTORY_NAME=com.anycompany.MyCustomFactory
 

The custom factory class will be instantiated and returned to the caller.

Parameters:
name - The name of the factory.
Returns:
A new factory.
Throws:
EngineException - If a system error occurs.

makeFileFactory

FileFactory makeFileFactory()
Creates a file factory, which can create file actions and triggers.

Returns:
A new file factory.

makeFlowChartAction

FlowChartAction makeFlowChartAction(java.lang.String name)
Creates a Flow Chart Action, which can export a new flow chart to the engine.

Parameters:
name - The name of this action.
Returns:
A new flow chart action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeFlowChartTrigger

FlowChartTrigger makeFlowChartTrigger(java.lang.String name)
Creates a Flow Chart Trigger, which waits for other flow charts to finish before firing.

Parameters:
name - The name of this action.
Returns:
A new flow chart trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeFlowChartSource

FlowChartSource makeFlowChartSource(java.lang.String name)
Creates a flow chart variable source for use in runtime data mapping.

Parameters:
name - The name of the flow chart variable source.
Returns:
A new flow chart source.

makeFlowChartTarget

FlowChartTarget makeFlowChartTarget(java.lang.String name)
Creates a flow chart variable target for use in runtime data mapping.

Parameters:
name - The name of the flow chart variable target.
Returns:
A new flow chart target.

makeFlowContextSource

FlowContextSource makeFlowContextSource(java.lang.String name)
Creates a flow context source, for use in runtime data mapping.

Parameters:
name - The name of the runtime data mapping.
Returns:
A new flow context source.

makeFlowContextTarget

FlowContextTarget makeFlowContextTarget(java.lang.String name)
Creates a flow context target, for use in runtime data mapping.

Parameters:
name - The name of the runtime data mapping.
Returns:
A new flow context target.

makeForEachCollectionElementAction

ForEachCollectionElementAction makeForEachCollectionElementAction(java.lang.String name)
Creates a for each collection element action, which makes each element in a collection available for individual processing in a flow chart.

Parameters:
name - The name of this action.
Returns:
A new For Each Collection Element Action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeForEachNumberAction

ForEachNumberAction makeForEachNumberAction(java.lang.String name)
Creates a for each number action, which counts numbers that fall within a range of numbers.

Parameters:
name - The name of this action.
Returns:
A new for each number action.

makeJ2eeFactory

J2eeFactory makeJ2eeFactory()
Creates a J2EE factory, which can create J2EE triggers and actions.

Returns:
A new J2EE factory.

makeJavaAction

JavaAction makeJavaAction(java.lang.String name)
Creates a Java Action, which can execute arbitrary Java classes.

Parameters:
name - The name of this action.
Returns:
A new Java action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeJoin

Join makeJoin(java.lang.String name)
Creates a Join node, which merges multiple incoming flows into a single flow.

Parameters:
name - The name of the Join.
Returns:
A new Join node.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeManualTrigger

ManualTrigger makeManualTrigger(java.lang.String name)
Creates a manual trigger, which fires when expedited.

Parameters:
name - The name of the trigger.
Returns:
A new manual trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeNotificationFactory

NotificationFactory makeNotificationFactory()
Creates a notification factory, which can create notification triggers and actions.

Returns:
A new notification factory.

makeNullAction

NullAction makeNullAction(java.lang.String name)
Creates an action that does nothing.

Parameters:
name - The name of the action.
Returns:
A new null action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeProcessAction

ProcessAction makeProcessAction(java.lang.String name)
Creates a process action, which executes native processes and command line programs.

Parameters:
name - The name of the action.
Returns:
A new process action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeRegularExpressionAction

RegularExpressionAction makeRegularExpressionAction(java.lang.String name)
Creates a Regular Expression Action, which can determine if a string or the contents of a file match a regular expression and optionally replace matches.

Parameters:
name - The name of this action.
Returns:
A new regular expression action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeRestAction

RestAction makeRestAction(java.lang.String name)
Creates a new rest action, which can invoke REST services.

Parameters:
name - The name of the action.
Returns:
A new rest action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeRmiAction

RmiAction makeRmiAction(java.lang.String name)
Creates an RMI action, which executes a method on a remote object.

Parameters:
name - The name of the action.
Returns:
A new RMI action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeRuntimeConfigurationSource

RuntimeConfigurationSource makeRuntimeConfigurationSource(java.lang.String name)
Creates a runtime configuration source, for use in runtime data mapping.

Parameters:
name - The name of the runtime data mapping.
Returns:
A new runtime configuration source.

makeSplit

Split makeSplit(java.lang.String name)
Creates a Split node, which activates multiple outgoing flows in parallel.

Parameters:
name - The name of the Split.
Returns:
A new Split node.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeTimerTrigger

TimerTrigger makeTimerTrigger(java.lang.String name)
Creates a new timer trigger, which automatically fires at specified times.

Parameters:
name - The name of the trigger.
Returns:
A new timer trigger.
Throws:
java.lang.IllegalArgumentException - If name is already used.

makeWebService

WebServiceAction makeWebService(java.lang.String name)
Creates a new web service action, which can invoke web services.

Parameters:
name - The name of the action.
Returns:
A new web service action.
Throws:
java.lang.IllegalArgumentException - If name is already used.

pause

void pause()
Pauses this flow chart, that is, pauses all execution flow contexts in this flow chart. When a flow chart is paused, no actions are executed and no triggers fire.


removeAction

boolean removeAction(java.lang.String actionName)
Removes the specified action from this flow chart. All inbound and outbound flows from the specified action are removed as well.

Parameters:
actionName - The name of the action to be removed from this flow chart. Since action names are unique within a flow chart, the action name uniquely specifies an action.
Returns:
Whether the action was contained in this flow chart and was removed.

reset

void reset()
Resets this flow chart's attributes to their original values. Any and all child actions are reset as well. Flows and all child actions remain in place.


resume

void resume()
Resumes this flow chart after a previous pause. All execution flow contexts are resumed.


setDeadline

void setDeadline(java.util.Date deadline)
                 throws EngineException
Sets the date when this flow chart or denoted flow chart run should finish execution. A DeadlineExceededEvent is published to the audit trail if this flow chart does not complete execution by the deadline.

The display of flow charts in the Flux Operations Console indicates the deadline status of flow charts by highlighting flow charts in relevant colors.

A deadline date cannot be set if a deadline time expression is set.

Parameters:
deadline - The date when this flow chart or denoted flow chart run should finish execution.
Throws:
EngineException - If a system error occurs.

setDeadline

void setDeadline(java.lang.String timeExpression)
                 throws EngineException
Sets the deadline for this flow chart or denoted flow chart run using a time expression.

The actual deadline date is calculated at the time flow chart is placed on the engine using the specified time expression.

A deadline time expression cannot be set if a deadline date is set.

Parameters:
timeExpression - The time expression used to calculate the deadline date for this flow chart or denoted flow chart run.
Throws:
EngineException - If a system error occurs.

setDeadlineWindow

void setDeadlineWindow(java.lang.String timeExpression)
                       throws EngineException
Sets a relative time expression which specifies when to publish the DeadlineApproachingEvent to the audit trail, expression is relative to the deadline date.

Deadline window defaults to "-1H" (one hour) if this method is not called.

Parameters:
timeExpression - A negative relative time expression.
Throws:
EngineException - If a system error occurs.
See Also:
DeadlineApproachingEvent

setDescription

void setDescription(java.lang.String description)
Sets a description of this flow chart meant for human consumption.

Parameters:
description - A description of this flow chart meant for human consumption.

setListenerClasspath

void setListenerClasspath(java.lang.String classpath)
Sets the listener classpath for this flow chart, which is used to load listener classes for Java Action and Dynamic Java Action. If set to null, the classpath from the runtime configuration tree is used instead. By default, this property is null.

The listener classpath is a list of directories and jar files. Each item in the list is separated by a ":" or ";" character. Each item contains a path to a directory or jar file containing "/" and "\" characters. On Windows, a letter followed by a ":" or ";" character is interpreted as a drive letter. If a directory is specified, any jar files under that directory are automatically included in alphabetical order in the classpath as well.

Parameters:
classpath - The custom Java classpath for this flow chart.
See Also:
RuntimeConfigurationNode.LISTENER_CLASSPATH

setName

void setName(java.lang.String name)
Sets the name of this flow chart in the flow chart namespace. Each flow chart has a name. The name can be hierarchical. For example, the names "/my flow chart", "/heavyweights/my big job", and "/lightweights/my little job" are hierarchical and form a tree. The "/" symbol is the separator character that defines the different branches in the hierarchical tree. Collectively, all flow chart names form a hierarchical flow chart namespace, that is, a tree of jobs.

If a flow chart name is incomplete, because it refers to a directory in the namespace and not an actual flow chart name, the engine automatically generates and returns a unique, fully-qualified job name, after the flow chart is inserted into an engine. For example, if the flow chart name is null, empty, or "/", then the engine generates a unique name such as "/392" and returns it. Similarly, if the flow chart name is "/heavyweights/", then the engine returns a name such as "/heavyweights/72939".

Parameters:
name - The name of this flow chart in the flow chart namespace.
Throws:
java.lang.IllegalArgumentException - If name is null, the empty string, or if it contains a "*", "?", "%", "_", ".", or "$" character.

setPriority

void setPriority(java.lang.Integer priority)
Sets the priority of this flow chart, which overrides any priority set in the runtime configuration. A null flow chart priority allows the runtime configuration priority to take precedence.

Parameters:
priority - The priority of this flow chart. May be null.
Throws:
java.lang.IllegalArgumentException - If priority is less than 1.
See Also:
RuntimeConfigurationNode.PRIORITY

setRunAsUser

void setRunAsUser(java.lang.String runAsUser)
Sets the username under whose security context this flow chart executes; applicable for secure Flux engines only.

If this property is null, this flow chart runs as the user specified in the runtime configuration tree. If no such user is specified, this flow chart runs as the user who submitted this flow chart to a Flux engine.

If this property is anything but null, only a user with administrator privileges may add this flow chart to a Flux engine using the Engine.put() method.

Parameters:
runAsUser - The username under whose security context this flow chart executes.
See Also:
RuntimeConfigurationNode.RUN_AS_USER

verify

void verify()
            throws EngineException
Indicates whether this flow chart and all the actions within this flow chart are configured correctly. If so, this method returns normally. Otherwise, an exception is thrown, indicating the reason why verification failed.

Throws:
EngineException - If this flow chart or any of the actions within this flow chart are configured incorrectly.

verifyAll

java.util.SortedMap verifyAll()
Finds all actions within this flow chart, including the flow chart itself, which failed verification and returns all of their error messages, sorted by action name. If all actions verify successfully, returns an empty (not null) result.

Returns:
SortedMap of String to String. The keys of the sorted map are the name of actions that failed verification, and the values of the sorted map are the error messages. The result is not null.
See Also:
Action.verify()

verifyAllOnClient

java.util.SortedMap verifyAllOnClient()
Finds all actions within this flow chart, including the flow chart itself, which failed client verification and returns all of their error messages, sorted by action name. If all actions verify on the client successfully, returns an empty (not null) result.

Returns:
SortedMap of String to String. The keys of the sorted map are the name of actions that failed client verification, and the values of the sorted map are the error messages. The result is not null.
See Also:
Action.verifyOnClient()

verifyOnClient

void verifyOnClient()
                    throws EngineException
Indicates whether this flow chart and all the actions within this flow chart are configured correctly on or in a client, not necessarily on or in a server. Typically, when an action is verified on or in a client, classes are not checked to see if they exist or contain an expected structure. However, when an action is verified using verify(), classes and their expected structure are indeed checked for correctness.

If this flow chart is initialized correctly, this method returns normally. Otherwise, an exception is thrown, indicating the reason why this flow chart is not configured properly.

Throws:
EngineException - If this flow chart is not configured correctly on or in a client.


© 2014 Flux Corporation. All rights reserved.