Class EmptyWorkflowRuleProvider
OptimaJet.Workflow.Core.Runtime.EmptyWorkflowRuleProvider
Provides the empty fallback implementation of IWorkflowRuleProvider, representing the absence of configured workflow rules.
Namespace: OptimaJet.Workflow.Core.Runtime
public class EmptyWorkflowRuleProvider : IWorkflowRuleProviderType Hierarchy
- EmptyWorkflowRuleProvider Current type
- Implemented interfaces
Properties
public static IWorkflowRuleProvider Value { get; } #Gets the shared empty workflow rule provider.
Methods
public List<string> GetRules(string schemeCode, NamesSearchType namesSearchType) #Gets the rule names implemented by this provider for a process scheme.
Parameters
Name
Type
Description
schemeCodeStringThe effective process scheme code used to resolve scheme-specific rules, or null when the caller has no process scheme context.
namesSearchTypeNamesSearchTypeThe filtering mode. NamesSearchType.All includes rules excluded by provider-specific exclusion settings and is used for runtime rule resolution. NamesSearchType.NotExcluded omits those rules, for example when the Designer builds its list of available rules.
Returns
Type
Description
List<String>A non-null list of rule names implemented by this provider for the requested scheme and filtering mode.
public bool Check(ProcessInstance processInstance, WorkflowRuntime runtime, string identityId, string ruleName, string parameter) #Determines whether a workflow participant identity satisfies a rule.
Parameters
Name
Type
Description
processInstanceProcessInstanceThe process instance whose state and parameters provide the evaluation context.
runtimeWorkflowRuntimeThe workflow runtime executing the evaluation.
identityIdStringThe application-defined value identifying the workflow participant to evaluate, such as a login, user name, database identifier, or another identifier understood by the provider.
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
parameterStringThe provider-defined rule parameter. During standard restriction evaluation, this is the value from ActorDefinition.Value after workflow substitutions have been applied.
Returns
Remarks
The runtime calls this method when IWorkflowRuleProvider.IsCheckAsync(string, string) returns false for the same rule and scheme.
public IEnumerable<string> GetIdentities(ProcessInstance processInstance, WorkflowRuntime runtime, string ruleName, string parameter) #Gets all workflow participant identities that satisfy a rule.
Parameters
Name
Type
Description
processInstanceProcessInstanceThe process instance whose state and parameters provide the lookup context.
runtimeWorkflowRuntimeThe workflow runtime executing the lookup.
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
parameterStringThe provider-defined rule parameter. During standard actor calculation, this is the value from ActorDefinition.Value after workflow substitutions have been applied.
Returns
Type
Description
IEnumerable<String>A non-null sequence of application-defined workflow participant identities. Each value must use the same identity representation accepted by IWorkflowRuleProvider.Check(ProcessInstance, WorkflowRuntime, string, string, string).
Remarks
The runtime calls this method when IWorkflowRuleProvider.IsGetIdentitiesAsync(string, string) returns false for the same rule and scheme.
public Task<bool> CheckAsync(ProcessInstance processInstance, WorkflowRuntime runtime, string identityId, string ruleName, string parameter, CancellationToken token) #Asynchronously determines whether a workflow participant identity satisfies a rule.
Parameters
Name
Type
Description
processInstanceProcessInstanceThe process instance whose state and parameters provide the evaluation context.
runtimeWorkflowRuntimeThe workflow runtime executing the evaluation.
identityIdStringThe application-defined value identifying the workflow participant to evaluate, such as a login, user name, database identifier, or another identifier understood by the provider.
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
parameterStringThe provider-defined rule parameter. During standard restriction evaluation, this is the value from ActorDefinition.Value after workflow substitutions have been applied.
tokenCancellationTokenThe token supplied by the current workflow operation to observe cancellation.
Returns
Type
Description
Exceptions
Type
Description
NotImplementedExceptionAlways thrown because the provider has no asynchronous rule checks.
Remarks
The runtime calls this method when IWorkflowRuleProvider.IsCheckAsync(string, string) returns true for the same rule and scheme.
public Task<IEnumerable<string>> GetIdentitiesAsync(ProcessInstance processInstance, WorkflowRuntime runtime, string ruleName, string parameter, CancellationToken token) #Asynchronously gets all workflow participant identities that satisfy a rule.
Parameters
Name
Type
Description
processInstanceProcessInstanceThe process instance whose state and parameters provide the lookup context.
runtimeWorkflowRuntimeThe workflow runtime executing the lookup.
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
parameterStringThe provider-defined rule parameter. During standard actor calculation, this is the value from ActorDefinition.Value after workflow substitutions have been applied.
tokenCancellationTokenThe token supplied by the current workflow operation to observe cancellation.
Returns
Type
Description
Task<String>A task whose result is a non-null sequence of application-defined workflow participant identities. Each value must use the same identity representation accepted by IWorkflowRuleProvider.Check(ProcessInstance, WorkflowRuntime, string, string, string).
Exceptions
Type
Description
NotImplementedExceptionAlways thrown because the provider has no asynchronous workflow participant identity lookup.
Remarks
The runtime calls this method when IWorkflowRuleProvider.IsGetIdentitiesAsync(string, string) returns true for the same rule and scheme.
public bool IsCheckAsync(string ruleName, string schemeCode) #Indicates whether the runtime should call IWorkflowRuleProvider.CheckAsync(ProcessInstance, WorkflowRuntime, string, string, string, CancellationToken) instead of IWorkflowRuleProvider.Check(ProcessInstance, WorkflowRuntime, string, string, string) for a rule.
Parameters
Name
Type
Description
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
schemeCodeStringThe effective process scheme code used to resolve the rule.
Returns
Remarks
This choice is independent of the identity lookup mode returned by IWorkflowRuleProvider.IsGetIdentitiesAsync(string, string).
public bool IsGetIdentitiesAsync(string ruleName, string schemeCode) #Indicates whether the runtime should call IWorkflowRuleProvider.GetIdentitiesAsync(ProcessInstance, WorkflowRuntime, string, string, CancellationToken) instead of IWorkflowRuleProvider.GetIdentities(ProcessInstance, WorkflowRuntime, string, string) for a rule.
Parameters
Name
Type
Description
ruleNameStringThe name of a rule advertised by IWorkflowRuleProvider.GetRules(string, NamesSearchType).
schemeCodeStringThe effective process scheme code used to resolve the rule.
Returns
Remarks
This choice is independent of the rule-checking mode returned by IWorkflowRuleProvider.IsCheckAsync(string, string).
Remarks
The provider exposes no rule names, every synchronous rule check returns false, and synchronous identity lookup returns an empty sequence. It reports that no operation is asynchronous. Direct calls to the asynchronous check and identity lookup methods throw NotImplementedException synchronously.