Assembly: OptimaJet.Workflow.Core

Class WorkflowParser<TSchemeMedium>

OptimaJet.Workflow.Core.Parser.WorkflowParser<TSchemeMedium>

public abstract class WorkflowParser<TSchemeMedium> : IWorkflowParser<TSchemeMedium> where TSchemeMedium : class

Type Hierarchy

Methods

public abstract List<TimerDefinition> ParseTimers(TSchemeMedium schemeMedium) #
Parses the TimerDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<TimerDefinition>
The parsed TimerDefinition instances.
public abstract List<ActorDefinition> ParseActors(TSchemeMedium schemeMedium) #
Parses the ActorDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<ActorDefinition>
The parsed ActorDefinition instances.
public abstract List<Translation> ParseLocalization(TSchemeMedium schemeMedium) #
Parses the Translation entries from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<Translation>
The parsed Translation entries.
public abstract List<ParameterDefinition> ParseParameters(TSchemeMedium schemeMedium, SchemeParsingType schemeParsingType = SchemeParsingType.Strict) #
Parses the ParameterDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.
schemeParsingType
SchemeParsingType
The SchemeParsingType mode. SchemeParsingType.Strict rejects unresolved parameter types, while SchemeParsingType.Soft permits them when parsing an uploaded scheme for correction.

Returns

Type
Description
List<ParameterDefinition>
The parsed ParameterDefinition instances.
public abstract List<CommandDefinition> ParseCommands(TSchemeMedium schemeMedium, List<ParameterDefinition> parameterDefinitions) #
Parses the CommandDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.
parameterDefinitions
List<ParameterDefinition>
The parsed ParameterDefinition instances used to resolve command input parameters.

Returns

Type
Description
List<CommandDefinition>
The parsed CommandDefinition instances.
public abstract List<CommentDefinition> ParseComments(TSchemeMedium schemeMedium) #
Parses the CommentDefinition instances placed on the process scheme canvas.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<CommentDefinition>
The parsed CommentDefinition instances.
public abstract string GetCalendarName(TSchemeMedium schemeMedium) #
Reads the scheme-level work calendar name stored in ProcessDefinition.CalendarName.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
String
The scheme-level work calendar name.
public abstract List<ActivityDefinition> ParseActivities(TSchemeMedium schemeMedium) #
Parses the ActivityDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<ActivityDefinition>
The parsed ActivityDefinition instances.
public abstract List<CodeActionDefinition> ParseCodeActions(TSchemeMedium schemeMedium) #
Parses the CodeActionDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<CodeActionDefinition>
The parsed CodeActionDefinition instances.
public abstract List<TransitionDefinition> ParseTransitions(TSchemeMedium schemeMedium, List<ActorDefinition> actorDefinitions, List<CommandDefinition> commandDefinitions, List<ActivityDefinition> activityDefinitions, List<TimerDefinition> timerDefinitions) #
Parses the TransitionDefinition instances from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.
actorDefinitions
List<ActorDefinition>
The parsed ActorDefinition instances used to resolve transition restrictions.
commandDefinitions
List<CommandDefinition>
The parsed CommandDefinition instances used to resolve command triggers.
activityDefinitions
List<ActivityDefinition>
The parsed ActivityDefinition instances used to resolve transition endpoints.
timerDefinitions
List<TimerDefinition>
The parsed TimerDefinition instances used to resolve timer triggers.

Returns

Type
Description
List<TransitionDefinition>
The parsed TransitionDefinition instances.
public abstract string GetSchemeCode(TSchemeMedium schemeMedium) #
Reads the process scheme code from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
String
The process scheme code.
public abstract bool GetCanBeInlined(TSchemeMedium schemeMedium) #
Reads the value for ProcessDefinition.CanBeInlined from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
Boolean
true if the process scheme can be inlined into another process scheme; otherwise, false.
public abstract bool GetLogEnabled(TSchemeMedium schemeMedium) #
Reads the value for ProcessDefinition.LogEnabled from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
Boolean
true if logging is enabled by default for ProcessInstance instances created from the scheme; otherwise, false.
public abstract List<string> GetSchemeTags(TSchemeMedium schemeMedium) #
Reads the tags stored in ProcessDefinition.Tags from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
List<String>
The tags associated with the process scheme.
public abstract string GetCommonUsings(TSchemeMedium schemeMedium) #
Reads the namespace imports stored in ProcessDefinition.CodeActionsCommonUsings from an unparsed process scheme.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed process scheme representation.

Returns

Type
Description
String
The semicolon-delimited namespace imports shared when CodeActionDefinition instances are compiled.
public abstract DesignerSettings GetDesignerSettings(TSchemeMedium schemeMedium) #
Parses the DesignerSettings from an unparsed representation.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed representation containing the settings.

Returns

Type
Description
DesignerSettings
The parsed DesignerSettings.
public abstract ActivityTimeout GetExecutionTimeout(TSchemeMedium schemeMedium) #
Parses the ActivityDefinition.ExecutionTimeout configuration for an activity.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed activity representation.

Returns

Type
Description
ActivityTimeout
The parsed ActivityTimeout configuration.
public abstract ActivityTimeout GetIdleTimeout(TSchemeMedium schemeMedium) #
Parses the ActivityDefinition.IdleTimeout configuration for an activity.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed activity representation.

Returns

Type
Description
ActivityTimeout
The parsed ActivityTimeout configuration.
public abstract List<ActivityExceptionsHandler> GetExceptionsHandlers(TSchemeMedium schemeMedium) #
Parses the handlers stored in ActivityDefinition.ExceptionsHandlers for an activity.

Parameters

Name
Type
Description
schemeMedium
{TSchemeMedium}
The unparsed activity representation.

Returns

Type
Description
List<ActivityExceptionsHandler>
The parsed ActivityExceptionsHandler instances.
public abstract ProcessDefinition Parse(WorkflowRuntime workflowRuntime, string scheme, SchemeParsingType schemeParsingType = SchemeParsingType.Strict) #
Parses scheme text into a ProcessDefinition.

Parameters

Name
Type
Description
workflowRuntime
WorkflowRuntime
The WorkflowRuntime whose configuration is available during parsing.
scheme
String
The scheme text to parse.
schemeParsingType
SchemeParsingType
The parsing mode. Use SchemeParsingType.Soft only for an uploaded scheme that may contain an unresolved parameter CLR type.

Returns

Type
Description
ProcessDefinition
The parsed ProcessDefinition.
public abstract TSchemeMedium SerializeToSchemeMedium(ProcessDefinition processDefinition) #
Serializes a ProcessDefinition to the unparsed scheme representation.

Parameters

Name
Type
Description
processDefinition
ProcessDefinition
The ProcessDefinition to serialize.

Returns

Type
Description
{TSchemeMedium}
The serialized scheme represented by TSchemeMedium.
public virtual string SerializeToString(ProcessDefinition processDefinition) #
Serializes a ProcessDefinition to scheme text.

Parameters

Name
Type
Description
processDefinition
ProcessDefinition
The ProcessDefinition to serialize.

Returns

Type
Description
String
The serialized scheme text.

Remarks

The default implementation calls ToString() on the value returned by WorkflowParser<TSchemeMedium>.SerializeToSchemeMedium(ProcessDefinition).
public ProcessDefinition Parse(WorkflowRuntime workflowRuntime, TSchemeMedium schemeMedium, SchemeParsingType schemeParsingType = SchemeParsingType.Strict) #
Parses an unparsed scheme representation into a ProcessDefinition.

Parameters

Name
Type
Description
workflowRuntime
WorkflowRuntime
The WorkflowRuntime whose configuration is available during parsing.
schemeMedium
{TSchemeMedium}
The unparsed scheme representation.
schemeParsingType
SchemeParsingType
The parsing mode. Use SchemeParsingType.Soft only for an uploaded scheme that may contain an unresolved parameter CLR type.

Returns

Type
Description
ProcessDefinition
The parsed ProcessDefinition.

Remarks

This implementation parses the individual scheme components, adds the runtime's predefined actors to the actors declared in the scheme, and assembles the resulting ProcessDefinition.