{
  "name": "X12 EDI",
  "description": "",
  "version": "2.0.0-SNAPSHOT",
  "vendor": "Mulesoft",
  "category": "PREMIUM",
  "xmlDsl": {
    "prefix": "x12",
    "namespace": "http://www.mulesoft.org/schema/mule/x12",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/x12/current/mule-x12.xsd",
    "schemaVersion": "2.0.0-SNAPSHOT",
    "xsdFileName": "mule-x12.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "X12",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 17,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 0
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "interchangeIdQualifierSelf",
              "displayModel": {
                "displayName": "Mule ID qualifier",
                "summary": "Mule interchange sender/receiver ID qualifier (ISA05/ISA07)"
              },
              "description": "ID qualifier for Mule in exchange (ISA segment). This value is used in combination with the Self Identification Interchange ID value, and if one is set the other must also be set. If this value is set, it effects both send and receive message handling. On the receive side, the ISA Interchange Receiver ID Qualifier must match this value. On the send side, this value is used as the default ISA Interchange Sender ID Qualifier when not set in the message data.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "interchangeIdSelf",
              "displayModel": {
                "displayName": "Mule interchange ID",
                "summary": "Mule interchange sender/receiver ID (ISA06/ISA08)"
              },
              "description": "ID for Mule in exchange (ISA segment). This value is used in combination with the Self Identification Interchange ID qualifier value, and if one is set the other must also be set. If this value is set, it effects both send and receive message handling. On the receive side, the ISA Interchange Receiver ID must match this value. On the send side, this value is used as the default ISA Interchange Sender ID when not set in the message data.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "groupIdSelf",
              "displayModel": {
                "displayName": "Mule application code",
                "summary": "Mule application sender/receiver code (GS02/GS03)"
              },
              "description": "Application Code for Mule in group (GS segment). If this value is set, it effects both send and receive message handling. On the receive side, the GS Application Receiver\u0027s Code must match this value. On the send side, this value is used as the default GS Application Sender\u0027s Code when when not set in the message data.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "interchangeIdQualifierPartner",
              "displayModel": {
                "displayName": "Partner ID qualifier",
                "summary": "Partner interchange sender/receiver ID qualifier (ISA05/ISA07)"
              },
              "description": "ID qualifier for partner in exchange (ISA segment). This value is used in combination with the Partner Identification Interchange ID value, and if one is set the other must also be set. If this value is set, it effects both send and receive message handling. On the receive side, the ISA Interchange Sender ID Qualifier must match this value. On the send side, this value is used as the default ISA Interchange Receiver ID Qualifier when not set in the message data.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "interchangeIdPartner",
              "displayModel": {
                "displayName": "Partner interchange ID",
                "summary": "Partner interchange sender/receiver ID (ISA06/ISA08)"
              },
              "description": "ID for partner in exchange (ISA segment). This value is used in combination with the Partner Identification Interchange ID qualifier value, and if one is set the other must also be set. If this value is set, it effects both send and receive message handling. On the receive side, the ISA Interchange Sender ID must match this value. On the send side, this value is used as the default ISA Interchange Receiver ID when not set in the message data.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Identity"
              },
              "allowedStereotypeModels": [],
              "name": "groupIdPartner",
              "displayModel": {
                "displayName": "Partner application code",
                "summary": "Partner application sender/receiver code (GS02/GS03)"
              },
              "description": "Application Code for partner in group (GS segment). If this value is set, it effects both send and receive message handling. On the receive side, the GS Application Sender\u0027s Code must match this value. On the send side, this value is used as the default GS Application Reciever\u0027s Code when not set in the message data.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Identity",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connectors.x12.extension.api.config.X12Variation",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "X12",
                      "HIPAA_SNIP1",
                      "HIPAA_SNIP2"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "X12",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "formValidation",
              "displayModel": {
                "displayName": "Form and validation"
              },
              "description": "Schema form and validation level. Schemas used in the configuration must match the form selected, either X12 or HIPAA. SNIP Type 1 and Type 2 validation only applies to HIPAA schemas.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.util.List",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.util.Collection"
                    ],
                    "parent": "",
                    "genericTypes": [
                      "java.lang.String"
                    ],
                    "isMap": false
                  }
                },
                "item": {
                  "type": "String"
                }
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "schemas",
              "displayModel": {
                "displayName": "Schema definitions",
                "summary": "List of paths (either file system or classpath) for schemas to be used by connector"
              },
              "description": "List of paths for schemas to be used by connector. The paths may be either for file system or classpath.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connectors.x12.extension.api.config.CharacterEncoding",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "PLATFORM",
                      "ASCII",
                      "ISO8859_1",
                      "IBM1047",
                      "UTF8"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "PLATFORM",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "characterEncoding",
              "displayModel": {
                "displayName": "Character encoding",
                "summary": "Character encoding used for both send and receive messages"
              },
              "description": "Character encoding for messages. This character encoding is always used for both send and receive messages.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connectors.x12.extension.api.config.CharacterRestriction",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "BASIC",
                      "EXTENDED",
                      "UNRESTRICTED"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "EXTENDED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "stringCharacterSet",
              "displayModel": {
                "displayName": "Character set",
                "summary": "Characters allowed in string data"
              },
              "description": "Characters allowed in string data. Invalid characters are replaced by the substitution character, if used, or rejected as errors if no substitution character is set or enabled for receive messages in parser options. Either way the invalid characters are logged, and for receive messages are reported in 997 functional acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "stringSubstitutionChar",
              "displayModel": {
                "displayName": "Substitution character",
                "summary": "Substitution character used to replace invalid characters in string values"
              },
              "description": "Substitution character used to replace invalid characters in string values.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "versionIdentifierSuffix",
              "displayModel": {
                "displayName": "Version identifier suffix",
                "summary": "Version identifier code suffix for group (GS segment)"
              },
              "description": "Version identifier code suffix for group (GS segment). If this value is set, it effects both send and receive message handling. On the receive side, the GS Version / Release / Industry Identifier Code must consist of the X12 schema version (004010, 005010, etc.) followed by this suffix. If this value is not set, the receive only verifies that the GS version identifier code starts with the configured schema version. On the send side, the combination of the X12 schema version and this suffix is used as the GS version identifier code.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 2
          },
          "showInDsl": false,
          "name": "Document",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "enforceLengthLimits",
              "displayModel": {
                "displayName": "Enforce length limits",
                "summary": "Enforce minimum and maximum lengths for receive values"
              },
              "description": "Enforce minimum and maximum lengths for receive values. If true, a transaction with values too long or too short is rejected; if false, the values are used anyway and the transaction is not rejected. In either case the error is logged and reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "enforceCharacterSet",
              "displayModel": {
                "displayName": "Enforce character set",
                "summary": "Enforce allowed character set"
              },
              "description": "Enforce allowed character set flag. If true, a transaction with invalid characters is rejected; if false, the characters are either passed through or substituted and the transaction is not rejected. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "enforceValueRepeats",
              "displayModel": {
                "displayName": "Enforce value repeats",
                "summary": "Enforce repetition count limits for receive values"
              },
              "description": "Enforce repetition count limits for receive values. If true, a transaction with values repeated too many or too few times is rejected; if false, the value are accepted and the transaction is not rejected. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "allowUnknownSegments",
              "displayModel": {
                "displayName": "Allow unknown segments",
                "summary": "Allow unknown segments in a transaction set"
              },
              "description": "Allow unknown segments in a transaction set. If false, a transaction containing any unknown segments is rejected; if true, unknown segments are ignored and the transaction is not rejected. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "enforceSegmentOrder",
              "displayModel": {
                "displayName": "Enforce segment order",
                "summary": "Enforce segment order in a transaction set"
              },
              "description": "Enforce segment order in a transaction set. If true, a transaction with segments out of order is rejected; if false and the segment can be reordered the transaction is not rejected. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "allowUnusedSegments",
              "displayModel": {
                "displayName": "Allow unused segments",
                "summary": "Allow segments marked as \u0027Unused\u0027 in a transaction set"
              },
              "description": "Allow segments marked as \u0027Unused\u0027 in a transaction set. If false, a transaction containing segments marked as unused in the schema is rejected; if true, the transaction is not rejected and the unused segments are ignored. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "enforceSegmentRepeats",
              "displayModel": {
                "displayName": "Enforce segment repeats",
                "summary": "Enforce segment repetition count limits in a transaction set"
              },
              "description": "Enforce segment repetition count limits in a transaction set. If true, a transaction with a segment repeated too many times is rejected; if false, the transaction is not rejected. In either case the error is reported in 997/999 acknowledgments.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "requireUniqueInterchanges",
              "displayModel": {
                "displayName": "Require unique interchanges",
                "summary": "Require unique ISA Interchange Control Numbers (ISA13)"
              },
              "description": "Require unique Interchange Control Numbers (ISA13) for received interchanges. The normal behavior is to record the interchange numbers previously processed and reject any duplicate interchange numbers from the same partner (as determined by the interchange sender and receiver identification). If false, this instead allows processing of the received interchange to continue and leaves it to the application flow to track numbers and handle appropriately.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "requireUniqueGroups",
              "displayModel": {
                "displayName": "Require unique groups",
                "summary": "Enforce globally unique Group Control Numbers (GS06) for received functional groups"
              },
              "description": "Enforce globally unique Group Control Numbers (GS06) for received functional groups. By default, group numbers only need to be unique with an interchange. If true, this instead requires group numbers to be unique across all interchanges received from the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "requireUniqueTransactionSets",
              "displayModel": {
                "displayName": "Require unique transactions",
                "summary": "Enforce globally unique Transaction Set Control Numbers (ST02) for received transaction sets"
              },
              "description": "Enforce globally unique Transaction Set Control Numbers (ST02) for received transaction sets. By default, transaction set control numbers only need to be unique with a particular functional group. If true, this instead requires transaction set numbers to be unique across all functional groups received from the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "30",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "daysToStore",
              "displayModel": {
                "displayName": "Store time-to-live",
                "summary": "Minimum number of days to store interchange, group, and transaction set numbers for checking uniqueness"
              },
              "description": "Minimum number of days to store interchange, group, and transaction set numbers for checking uniqueness. This value is only used when unique interchange, group, and/or transaction set numbers are required by the configuration. The default persistent object store from the Mule configuration is always used for storing the received identifier numbers, and this parameter sets the entry time-to-live for these stored values.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 13,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "ackAllSets",
              "displayModel": {
                "displayName": "Acknowledge every transaction",
                "summary": "Include a separate AK2/AK5 (997) or AK2/IK5 (999) acknowledgment for every received transaction set"
              },
              "description": "Include a separate AK2/AK5 (997) or AK2/IK5 (999) acknowledgment for every received transaction set. By default, only transaction sets containing errors are included in the acknowledgment, with transaction sets which aren\u0027t included implicitly acknowledged. Changing this flag causes each received transaction set to be explicitly acknowledged.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 14,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "generate999Acks",
              "displayModel": {
                "displayName": "Generate 999 acknowledgments",
                "summary": "Generate 999 Implementation Acknowledgments, rather than 997 Functional Acknowledgments"
              },
              "description": "Generate 999 Implementation Acknowledgments, rather than 997 Functional Acknowledgments. By default, 997 Functional Acknowledgment transaction sets are generated for each received interchange. Changing this flag causes 999 Implementation Acknowledgments to be generated instead. Note that the support for 999 Implementation Acknowledgments does not include CTX segment generation.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 15,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "reportSegmentErrors",
              "displayModel": {
                "displayName": "Report segment details",
                "summary": "Report segment error details to sender in 997/999"
              },
              "description": "Report segment error details to sender in 997/999. If true, the details of any segment errors will be included in a generated 997/999. If false, the details will not be included.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 16,
                "tabName": "Parser"
              },
              "allowedStereotypeModels": [],
              "name": "includeFASchema",
              "displayModel": {
                "displayName": "Include Acknowledgment schema",
                "summary": "Expect 997 or 999 Functional Acknowledgments and include 997/999 schema"
              },
              "description": "Expect 997 or 999 Functional Acknowledgments and include 997/999 schema. By default, the schema for 997/999 acknowledgment transaction sets is automatically included in the set of schemas used by the X12 EDI Module. If false, you need to directly specify the 997 and/or 999 schema if you want these to be processed as input. The schemas used for generating 997 or 999 Functional Acknowledgments are hardcoded and cannot be modified.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Parser",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "*",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "dataSeparator",
              "displayModel": {
                "displayName": "Data element separator",
                "summary": "Data element separator character"
              },
              "description": "Data element separator character. The configured value is used by default for all output messages, but can be overridden at the message level.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "\u003e",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "componentSeparator",
              "displayModel": {
                "displayName": "Component element separator",
                "summary": "Component element separator character"
              },
              "description": "Component element separator character. The configured value is used by default for all output messages, but can be overridden at the message level.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "U",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "repetitionSeparator",
              "displayModel": {
                "displayName": "Repetition separator",
                "summary": "Repetition separator character (if used)"
              },
              "description": "Repetition separator character (if used). The configured value is used by default for all output messages, but can be overridden at the message level. The value \u0027U\u0027 means repetitions are not used.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "~",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "segmentTerminator",
              "displayModel": {
                "displayName": "Segment terminator",
                "summary": "Segment terminator character"
              },
              "description": "Segment terminator character. The configured value is used by default for all output messages, but can be overridden at the message level.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connectors.x12.extension.api.config.SegmentWhitespace",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "NONE",
                      "LF",
                      "CRLF",
                      "CR"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "NONE",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "lineEnding",
              "displayModel": {
                "displayName": "Segment line ending",
                "summary": "Line ending to add between segments"
              },
              "description": "Line ending to add between segments. This allows you to add line endings between segments to improve the readability of the output message text.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "sendUniqueGroupNumbers",
              "displayModel": {
                "displayName": "Unique group numbers",
                "summary": "Send globally unique Group Control Numbers (GS06)"
              },
              "description": "Send globally unique Group Control Numbers (GS06). By default, functional group control numbers are assigned sequentially within each interchange and are reused in different interchanges. If true, this instead assigns unique group numbers across all interchanges sent to the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "sendUniqueTransactionNumbers",
              "displayModel": {
                "displayName": "Unique transaction numbers",
                "summary": "Send globally unique Transaction Set Control Numbers (ST02)"
              },
              "description": "Send globally unique Transaction Set Control Numbers (ST02). By default, transaction set control numbers are assigned sequentially within each functional group and are reused in different groups. If true, this instead assigns unique transaction set numbers across all interchanges sent to the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "implementationConventionReference",
              "displayModel": {
                "displayName": "Implementation reference",
                "summary": "Implementation convention reference for transactions (ST03)"
              },
              "description": "Implementation convention reference for transactions (ST03). If this value is set, it is used as the ST03 Implementation Convention Reference unless overridden in the message parameters.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "initialInterchangeNumber",
              "displayModel": {
                "displayName": "Initial interchange number",
                "summary": "The initial Interchange Control Number used for outgoing messages"
              },
              "description": "The initial Interchange Control Number used for outgoing messages.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "initialGroupNumber",
              "displayModel": {
                "displayName": "Initial group number",
                "summary": "The initial Group Control Number used for outgoing messages"
              },
              "description": "The initial Group Control Number used for outgoing messages.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "initialSetNumber",
              "displayModel": {
                "displayName": "Initial transaction number",
                "summary": "The initial Transaction Set Control Number used for outgoing messages"
              },
              "description": "The initial Transaction Set Control Number used for outgoing messages.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 13,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "ackRequested",
              "displayModel": {
                "displayName": "Request acknowledgments",
                "summary": "Request acknowledgments for sent transactions flag (ISA14)"
              },
              "description": "Request acknowledgments for sent transactions flag (ISA14). If true, 997/999 acknowledgments will be requested for all sent transactions.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "P",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "Writer"
              },
              "allowedStereotypeModels": [],
              "name": "defaultUsageIndicator",
              "displayModel": {
                "displayName": "Default usage indicator",
                "summary": "Default interchange usage indicator (ISA15): \u0027I\u0027 for Information, \u0027P\u0027 for Production Data, \u0027T\u0027 for Test Data"
              },
              "description": "Default interchange usage indicator (ISA15): \u0027I\u0027 for Information, \u0027P\u0027 for Production Data, \u0027T\u0027 for Test Data.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 4
          },
          "showInDsl": false,
          "name": "Writer",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "Object",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.Map",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [
                    "java.lang.String",
                    "java.lang.Object"
                  ],
                  "isMap": true
                }
              },
              "open": {
                "type": "Object",
                "annotations": {
                  "typeId": "java.lang.Object",
                  "classInformation": {
                    "classname": "java.lang.Object",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "typeAlias": {
                    "value": "Object"
                  }
                },
                "fields": []
              },
              "fields": []
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "X12:UNKNOWN",
            "X12:WRITE",
            "X12:PARSE",
            "X12:SCHEMA"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Binary",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "readContent",
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "read",
          "description": "Transform an input stream of EDI text into maps/lists structure of EDI data.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": {
                "id": "application/plain",
                "label": "application/plain",
                "validMimeTypes": [
                  "application/plain"
                ]
              },
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "X12:UNKNOWN",
            "X12:WRITE",
            "X12:PARSE",
            "X12:SCHEMA"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.Map",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.Object"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.Object",
                        "classInformation": {
                          "classname": "java.lang.Object",
                          "hasDefaultConstructor": true,
                          "isInterface": false,
                          "isInstantiable": true,
                          "isAbstract": false,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "Object"
                        }
                      },
                      "fields": []
                    },
                    "fields": []
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "writeContent",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "maxInMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "write",
          "description": "Transform maps/lists structure of EDI data to EDI text stream.",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "X12:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "X12:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "X12:UNKNOWN",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "X12:WRITE",
      "parent": "MULE:TRANSFORMATION",
      "handleable": true
    },
    {
      "error": "MULE:TRANSFORMATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "X12:SCHEMA",
      "parent": "MULE:VALIDATION",
      "handleable": true
    },
    {
      "error": "MULE:VALIDATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "X12:PARSE",
      "parent": "MULE:TRANSFORMATION",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": []
}
