{
  "name": "Loop",
  "description": "",
  "version": "1.2.2",
  "vendor": "Mulesoft",
  "minMuleVersion": "4.1.1",
  "supportedJavaVersions": [
    "1.8",
    "11",
    "17"
  ],
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "loop",
    "namespace": "http://www.mulesoft.org/schema/mule/loop",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/loop/current/mule-loop.xsd",
    "schemaVersion": "1.2.2",
    "xsdFileName": "mule-loop.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "LOOP",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "minMuleVersion": "4.5.0",
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "name"
          ]
        }
      }
    }
  ],
  "operations": [
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Any",
          "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"
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "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": []
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [
        {
          "isRequired": true,
          "allowedStereotypes": [
            {
              "type": "PROCESSOR",
              "namespace": "MULE"
            }
          ],
          "minOccurs": 1,
          "maxOccurs": 1,
          "nestedComponents": [],
          "errors": [],
          "semanticTerms": [],
          "visibility": "PUBLIC",
          "parameterGroupModels": [],
          "name": "operations",
          "description": "",
          "modelProperties": {},
          "kind": "chain"
        }
      ],
      "errors": [],
      "semanticTerms": [],
      "visibility": "PUBLIC",
      "stereotype": {
        "type": "FOR",
        "namespace": "LOOP",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "LOOP",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "minMuleVersion": "4.4.0",
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "0",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "start",
              "displayModel": {
                "displayName": "start (inclusive)"
              },
              "description": "",
              "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": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "end",
              "displayModel": {
                "displayName": "end (exclusive)"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "counterAsPayload",
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "infrastructureType": {},
                  "description": {
                    "value": "Determines that an error thrown by this operation should be mapped to another"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "errorMapping",
                    "infrastructureType": {}
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "source"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeMatcher",
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "ANY",
                              "REDELIVERY_EXHAUSTED",
                              "TRANSFORMATION",
                              "EXPRESSION",
                              "SECURITY",
                              "CLIENT_SECURITY",
                              "SERVER_SECURITY",
                              "ROUTING",
                              "CONNECTIVITY",
                              "RETRY_EXHAUSTED",
                              "TIMEOUT"
                            ]
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "target",
                        "required": "true"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeDefinition"
                        }
                      }
                    }
                  ]
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Error Mapping"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "errorMappings",
              "description": "Set of error mappings",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "error-mappings",
                    "prefix": "mule"
                  }
                },
                "sinceMuleVersion": {
                  "version": "4.4.0"
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 12
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Error Mappings",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "for",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Any",
          "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"
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "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": []
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [
        {
          "isRequired": true,
          "allowedStereotypes": [
            {
              "type": "PROCESSOR",
              "namespace": "MULE"
            }
          ],
          "minOccurs": 1,
          "maxOccurs": 1,
          "nestedComponents": [],
          "errors": [],
          "semanticTerms": [],
          "visibility": "PUBLIC",
          "parameterGroupModels": [],
          "name": "operations",
          "description": "",
          "modelProperties": {},
          "kind": "chain"
        }
      ],
      "errors": [],
      "semanticTerms": [],
      "visibility": "PUBLIC",
      "stereotype": {
        "type": "FOR-EACH",
        "namespace": "LOOP",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "LOOP",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "minMuleVersion": "4.4.0",
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.util.Collection",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [
                      "java.lang.Object"
                    ],
                    "isMap": false
                  }
                },
                "item": {
                  "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": []
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "values",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "streaming",
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "infrastructureType": {},
                  "description": {
                    "value": "Determines that an error thrown by this operation should be mapped to another"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "errorMapping",
                    "infrastructureType": {}
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "source"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeMatcher",
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "ANY",
                              "REDELIVERY_EXHAUSTED",
                              "TRANSFORMATION",
                              "EXPRESSION",
                              "SECURITY",
                              "CLIENT_SECURITY",
                              "SERVER_SECURITY",
                              "ROUTING",
                              "CONNECTIVITY",
                              "RETRY_EXHAUSTED",
                              "TIMEOUT"
                            ]
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "target",
                        "required": "true"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeDefinition"
                        }
                      }
                    }
                  ]
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Error Mapping"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "errorMappings",
              "description": "Set of error mappings",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "error-mappings",
                    "prefix": "mule"
                  }
                },
                "sinceMuleVersion": {
                  "version": "4.4.0"
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 12
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Error Mappings",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "for-each",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Any",
          "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"
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "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": []
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [
        {
          "isRequired": true,
          "allowedStereotypes": [
            {
              "type": "PROCESSOR",
              "namespace": "MULE"
            }
          ],
          "minOccurs": 1,
          "maxOccurs": 1,
          "nestedComponents": [],
          "errors": [],
          "semanticTerms": [],
          "visibility": "PUBLIC",
          "parameterGroupModels": [],
          "name": "operations",
          "description": "",
          "modelProperties": {},
          "kind": "chain"
        }
      ],
      "errors": [],
      "semanticTerms": [],
      "visibility": "PUBLIC",
      "stereotype": {
        "type": "REPEAT_UNTIL_PAYLOAD_NOT_EMPTY",
        "namespace": "LOOP",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "LOOP",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "minMuleVersion": "4.4.0",
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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": 1
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "infrastructureType": {},
                  "description": {
                    "value": "Determines that an error thrown by this operation should be mapped to another"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "errorMapping",
                    "infrastructureType": {}
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "source"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeMatcher",
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "ANY",
                              "REDELIVERY_EXHAUSTED",
                              "TRANSFORMATION",
                              "EXPRESSION",
                              "SECURITY",
                              "CLIENT_SECURITY",
                              "SERVER_SECURITY",
                              "ROUTING",
                              "CONNECTIVITY",
                              "RETRY_EXHAUSTED",
                              "TIMEOUT"
                            ]
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "target",
                        "required": "true"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeDefinition"
                        }
                      }
                    }
                  ]
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Error Mapping"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "errorMappings",
              "description": "Set of error mappings",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "error-mappings",
                    "prefix": "mule"
                  }
                },
                "sinceMuleVersion": {
                  "version": "4.4.0"
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 12
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 2
          },
          "showInDsl": false,
          "name": "Error Mappings",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "repeatUntilPayloadNotEmpty",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Any",
          "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"
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "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": []
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [
        {
          "isRequired": true,
          "allowedStereotypes": [
            {
              "type": "PROCESSOR",
              "namespace": "MULE"
            }
          ],
          "minOccurs": 1,
          "maxOccurs": 1,
          "nestedComponents": [],
          "errors": [],
          "semanticTerms": [],
          "visibility": "PUBLIC",
          "parameterGroupModels": [],
          "name": "operations",
          "description": "",
          "modelProperties": {},
          "kind": "chain"
        }
      ],
      "errors": [
        "LOOP:PAYLOAD_IS_NOT_MAP"
      ],
      "semanticTerms": [],
      "visibility": "PUBLIC",
      "stereotype": {
        "type": "WHILE",
        "namespace": "LOOP",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "LOOP",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "minMuleVersion": "4.4.0",
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "condition",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Any",
                "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"
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "initialPayload",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "de.codecentric.mule.loop.api.PayloadAfterLoop",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "PAYLOAD_BEFORE_LOOP",
                      "COLLECTION_OF_ALL_PAYLOADS_WITHIN",
                      "ITERATOR_OF_ALL_PAYLOADS_WITHIN",
                      "PAYLOAD_OF_LAST_ITERATION"
                    ]
                  },
                  "classInformation": {
                    "classname": "de.codecentric.mule.loop.api.PayloadAfterLoop",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "java.lang.Enum",
                    "genericTypes": [],
                    "isMap": false
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "SUPPORTED",
              "defaultValue": "PAYLOAD_OF_LAST_ITERATION",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "resultPayload",
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "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": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "infrastructureType": {},
                  "description": {
                    "value": "Determines that an error thrown by this operation should be mapped to another"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "errorMapping",
                    "infrastructureType": {}
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "source"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeMatcher",
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "ANY",
                              "REDELIVERY_EXHAUSTED",
                              "TRANSFORMATION",
                              "EXPRESSION",
                              "SECURITY",
                              "CLIENT_SECURITY",
                              "SERVER_SECURITY",
                              "ROUTING",
                              "CONNECTIVITY",
                              "RETRY_EXHAUSTED",
                              "TIMEOUT"
                            ]
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "target",
                        "required": "true"
                      },
                      "model": {
                        "format": {
                          "id": "text",
                          "label": "Text",
                          "validMimeTypes": [
                            "text/plain"
                          ]
                        },
                        "type": "String",
                        "annotations": {
                          "typeId": "errorTypeDefinition"
                        }
                      }
                    }
                  ]
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Error Mapping"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "errorMappings",
              "description": "Set of error mappings",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "error-mappings",
                    "prefix": "mule"
                  }
                },
                "sinceMuleVersion": {
                  "version": "4.4.0"
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 12
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Error Mappings",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "while",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "artifactCoordinates": {
    "artifact id": "loop-module",
    "group id": "de.codecentric.mule.modules",
    "version": "1.2.2"
  },
  "notifications": [],
  "errors": [
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "LOOP:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "LOOP:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "LOOP:PAYLOAD_IS_NOT_MAP",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": []
}
