Class WorkflowParser<TSchemeMedium>
OptimaJet.Workflow.Core.Parser.WorkflowParser<TSchemeMedium>
Namespace: OptimaJet.Workflow.Core.Parser
public abstract class WorkflowParser<TSchemeMedium> : IWorkflowParser<TSchemeMedium> where TSchemeMedium : classType Hierarchy
- WorkflowParser<TSchemeMedium> Current type
- XmlWorkflowParser
- Implemented interfaces
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.
schemeParsingTypeSchemeParsingTypeThe 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.
parameterDefinitionsList<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
StringThe 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.
actorDefinitionsList<ActorDefinition>The parsed ActorDefinition instances used to resolve transition restrictions.
commandDefinitionsList<CommandDefinition>The parsed CommandDefinition instances used to resolve command triggers.
activityDefinitionsList<ActivityDefinition>The parsed ActivityDefinition instances used to resolve transition endpoints.
timerDefinitionsList<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
StringThe process scheme code.
public abstract bool GetCanBeInlined(TSchemeMedium schemeMedium) #Reads the value for ProcessDefinition.CanBeInlined from an unparsed process scheme.
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
Booleantrue 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
StringThe 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
DesignerSettingsThe 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
ActivityTimeoutThe 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
ActivityTimeoutThe 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
schemeStringThe scheme text to parse.
schemeParsingTypeSchemeParsingTypeThe parsing mode. Use SchemeParsingType.Soft only for an uploaded scheme that may contain an unresolved parameter CLR type.
Returns
Type
Description
ProcessDefinitionThe parsed ProcessDefinition.
public abstract TSchemeMedium SerializeToSchemeMedium(ProcessDefinition processDefinition) #Serializes a ProcessDefinition to the unparsed scheme representation.
Parameters
Name
Type
Description
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
Returns
Type
Description
StringThe 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
schemeMedium{TSchemeMedium}The unparsed scheme representation.
schemeParsingTypeSchemeParsingTypeThe parsing mode. Use SchemeParsingType.Soft only for an uploaded scheme that may contain an unresolved parameter CLR type.
Returns
Type
Description
ProcessDefinitionThe 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.