# Class GatewayFlowVisitor OptimaJet.Workflow.BpmnPlugin.Import.GatewayFlowVisitor The GatewayFlowVisitor class is responsible for visiting and processing the flows (ingoing or outgoing) of a BPMN gateway. Namespace: [OptimaJet.Workflow.BpmnPlugin.Import](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Import/) ```csharp public class GatewayFlowVisitor : BaseFlowVisitor ``` ## Type Hierarchy - [BaseVisitor](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Import/BaseVisitor/) - [BaseFlowVisitor](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Import/BaseFlowVisitor/) - GatewayFlowVisitor Current type ## Methods `public void AddOutgoingFlow(TGateway gateway, TSequenceFlow flow, BpmnConverterContext context)` Adds an outgoing transition for the specified gateway into the process definition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `gateway` | `TGateway` | Gateway to convert. | | `flow` | `TSequenceFlow` | Outgoing flow to convert. | | `context` | `BpmnConverterContext` | Context for the BPMN conversion process. | `protected virtual void AddOutgoingFlowExclusiveGateway(TExclusiveGateway exclusiveGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `exclusiveGateway` | `TExclusiveGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void AddOutgoingFlowParallelGateway(TParallelGateway parallelGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `parallelGateway` | `TParallelGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void AddOutgoingFlowEventBasedGateway(TEventBasedGateway eventBasedGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `eventBasedGateway` | `TEventBasedGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void AddOutgoingFlowInclusiveGateway(TInclusiveGateway inclusiveGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `inclusiveGateway` | `TInclusiveGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void AddOutgoingFlowComplexGateway(TComplexGateway complexGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `complexGateway` | `TComplexGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `public void UpdateIncomingFlow(TGateway gateway, TSequenceFlow flow, BpmnConverterContext context)` Updates the incoming transition if necessary for the specified gateway. ### Parameters | Name | Type | Description | | --- | --- | --- | | `gateway` | `TGateway` | Gateway to convert. | | `flow` | `TSequenceFlow` | Incoming flow to convert. | | `context` | `BpmnConverterContext` | Context for the BPMN conversion process. | `protected virtual void UpdateIncomingFlowExclusiveGateway(TExclusiveGateway exclusiveGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `exclusiveGateway` | `TExclusiveGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void UpdateIncomingFlowParallelGateway(TParallelGateway parallelGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `parallelGateway` | `TParallelGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void UpdateIncomingFlowEventBasedGateway(TEventBasedGateway eventBasedGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `eventBasedGateway` | `TEventBasedGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void UpdateIncomingFlowInclusiveGateway(TInclusiveGateway inclusiveGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `inclusiveGateway` | `TInclusiveGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | `protected virtual void UpdateIncomingFlowComplexGateway(TComplexGateway complexGateway, TSequenceFlow flow, BpmnConverterContext context)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `complexGateway` | `TComplexGateway` | | | `flow` | `TSequenceFlow` | | | `context` | `BpmnConverterContext` | | ## Fields `protected static readonly Regex _isConditionNameRegex` [Previous EventNodeVisitor](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Import/EventNodeVisitor/) [Next GatewayNodeVisitor](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Import/GatewayNodeVisitor/)