# Class SchemeInlineUtils OptimaJet.Workflow.Core.Builder.SchemeInlineUtils Provides helper methods for inlining data from one [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) into another. Namespace: [OptimaJet.Workflow.Core.Builder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Builder/) ```csharp public static class SchemeInlineUtils ``` ## Methods `public static void InlineParameters(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Merges non-system [ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/) instances from one process definition into another. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives inlined parameters. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides parameters. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | `public static void InlineCommands(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Merges [CommandDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CommandDefinition/) instances from the source process definition into the destination. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives inlined commands. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides commands. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | `public static void InlineTimers(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Merges [TimerDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TimerDefinition/) instances from the source process definition into the destination. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives inlined timers. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides timers. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | `public static void InlineLocalization(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Merges [Translation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/Translation/) entries from the source process definition into the destination. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives localization entries. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides localization entries. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | `public static (Dictionary ruleNameConversions, Dictionary actionNameConversions, Dictionary conditionNameConversions) InlineCodeActions(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Inlines [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) instances and renames newly merged actions when required. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives code actions. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides code actions. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple with three conversion dictionaries: `ruleNameConversions`, `actionNameConversions`, and `conditionNameConversions`. Each dictionary contains entries for names that change and maps the original action name to its new name in the target definition. | `public static (Dictionary ruleNameConversions, Dictionary actionNameConversions, Dictionary conditionNameConversions) InlineCodeActionsForTemplate(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator)` Inlines [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) instances for template processing. When the destination already contains an action with the same name and type, the existing action is left unchanged. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives code actions. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides code actions. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple with three conversion dictionaries: `ruleNameConversions`, `actionNameConversions`, and `conditionNameConversions`. Each dictionary contains entries for names that change and maps the original action name to its new name in the target definition. | `public static (Dictionary actorNameConversions, Dictionary allActors) InlineActors(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, Dictionary ruleNameConversions, List errorsAccumulator)` Inlines non-predefined [ActorDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActorDefinition/) instances into the destination process definition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives actors. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides actors. | | `ruleNameConversions` | `Dictionary` | Rule-name mappings used to translate actor rule references. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple containing: `actorNameConversions`, which maps actor names that were renamed while inlining, and `allActors`, a map from actor name to the corresponding inlined [ActorDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActorDefinition/). | `public static (Dictionary actorNameConversions, Dictionary allActors) InlineActorsForTemplate(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, Dictionary ruleNameConversions, List errorsAccumulator)` Inlines [ActorDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActorDefinition/) instances for template processing and makes their names unique when needed. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives actors. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides actors. | | `ruleNameConversions` | `Dictionary` | Rule-name mappings used to translate actor rule references. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple containing: `actorNameConversions`, which maps actor names that were renamed while inlining, and `allActors`, a map from actor name to the corresponding inlined [ActorDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActorDefinition/). | `public static (ActivityDefinition initial, List finals, Dictionary allClonedActivities, Dictionary activityNameConversion) InlineActivities(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, string pointOfInlining, List errorsAccumulator, string inlinedGroupName, string specificInlinedGroupName, Dictionary actionNameConversions)` Inlines [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) instances and returns the cloned initial and final activities. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives activities. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides activities. | | `pointOfInlining` | `String` | The prefix used to build unique inline activity names. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | | `inlinedGroupName` | `String` | The inline group name expected in source activities before renaming. | | `specificInlinedGroupName` | `String` | The group name to apply to cloned inline elements. | | `actionNameConversions` | `Dictionary` | Mapping of old action names to renamed action names. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple with: `initial`, the cloned initial activity if one was inlined; `finals`, the list of cloned final activities; `allClonedActivities`, a map of activity name to cloned [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/); and `activityNameConversion`, a map from original to new activity names. | `public static (ActivityDefinition initial, List finals, Dictionary allClonedActivities, Dictionary activityNameConversion) InlineActivitiesForTemplate(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator, Dictionary actionNameConversions)` Inlines [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) instances for template processing and applies action and initial-state adjustments. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives activities. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides activities. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | | `actionNameConversions` | `Dictionary` | Mapping of old action names to renamed action names. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple with: `initial`, the cloned initial activity if one was inlined; `finals`, the list of cloned final activities; `allClonedActivities`, a map of activity name to cloned [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/); and `activityNameConversion`, a map from original to renamed activity names. | `public static string GetNewActivityName(ActivityDefinition inlinedActivity, string pointOfInlining, ProcessDefinition inlinedProcessDefinition)` Computes the inline activity name based on whether the source [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) was already inlined. ### Parameters | Name | Type | Description | | --- | --- | --- | | `inlinedActivity` | `ActivityDefinition` | The [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) being inlined. | | `pointOfInlining` | `String` | The prefix used for generated inline names. | | `inlinedProcessDefinition` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) used for non-inline naming. | ### Returns | Type | Description | | --- | --- | | `String` | The computed activity name in the inlined target scheme. | `public static void InlineTransitions(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, string pointOfInlining, List errorsAccumulator, Dictionary allActors, Dictionary actorNameConversions, Dictionary allClonedActivities, Dictionary activityNameConversion, Dictionary conditionNameConversions)` Inlines [TransitionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) instances and rewrites actor and condition references using the provided conversions. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives transitions. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides transitions. | | `pointOfInlining` | `String` | The prefix used to build unique inline transition names. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | | `allActors` | `Dictionary` | Map of actor names to inlined actor definitions used for actor replacement. | | `actorNameConversions` | `Dictionary` | Mapping of original actor names to renamed actor names. | | `allClonedActivities` | `Dictionary` | Map of activity names to inlined activity definitions. | | `activityNameConversion` | `Dictionary` | Mapping of original activity names to renamed activity names. | | `conditionNameConversions` | `Dictionary` | Mapping of original condition action names to renamed action names. | `public static void InlineTransitionsForTemplate(ProcessDefinition schemeTo, ProcessDefinition schemeFrom, List errorsAccumulator, Dictionary allActors, Dictionary actorNameConversions, Dictionary allClonedActivities, Dictionary activityNameConversion, Dictionary conditionNameConversions)` Inlines [TransitionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) instances for template processing and resolves naming collisions by generating numbered names. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives transitions. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that provides transitions. | | `errorsAccumulator` | `List` | A collection that receives incompatibility diagnostics. | | `allActors` | `Dictionary` | Map of actor names to inlined actor definitions used for actor replacement. | | `actorNameConversions` | `Dictionary` | Mapping of original actor names to renamed actor names. | | `allClonedActivities` | `Dictionary` | Map of activity names to inlined activity definitions. | | `activityNameConversion` | `Dictionary` | Mapping of original activity names to renamed activity names. | | `conditionNameConversions` | `Dictionary` | Mapping of original condition action names to renamed action names. | `public static (bool success, List errors) InlineTemplate(ProcessDefinition schemeTo, ProcessDefinition schemeFrom)` Inlines one [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) template into another and returns accumulated validation errors. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeTo` | `ProcessDefinition` | The destination [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) that receives all inlined content. | | `schemeFrom` | `ProcessDefinition` | The source [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) used as the template. | ### Returns | Type | Description | | --- | --- | | `ValueTuple` | A tuple with a success flag and the list of inlining errors. `success` is [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) when no errors were recorded. | [Previous IWorkflowBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Builder/IWorkflowBuilder/) [Next SchemeParsingType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Builder/SchemeParsingType/)