{
  "name": "Java",
  "description": "JavaModule MuleSoft Extension, used to invoke Java code.",
  "version": "1.2.0",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "java",
    "namespace": "http://www.mulesoft.org/schema/mule/java",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/java/current/mule-java.xsd",
    "schemaVersion": "1.2.0",
    "xsdFileName": "mule-java.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "JAVA",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {}
    }
  ],
  "operations": [
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "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": true,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JAVA:CLASS_NOT_FOUND",
        "JAVA:ARGUMENTS_MISMATCH",
        "JAVA:INVOCATION",
        "JAVA:WRONG_INSTANCE_CLASS",
        "JAVA:NO_SUCH_METHOD"
      ],
      "stereotype": {
        "type": "PROCESSOR",
        "namespace": "MULE"
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "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,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "instance",
              "description": "the instance on which the method will be invoked",
              "modelProperties": {}
            },
            {
              "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",
                      "org.mule.runtime.api.metadata.TypedValue"
                    ],
                    "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",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "args",
              "description": "the arguments used to invoke the given Method. This parameter must be a map with the names of the method arguments as keys, and each of the argument values as values. For example, given a method echo with signature public String echo(String msg, String volume) a possible value for args is: #[{ msg : \u0027This is a message to echo\u0027, volume : \u0027Loud\u0027 }] In order to use those argument names the java class must be compiled with -parameters, in other case you have to use the canonical names for the arguments: #[{ arg0 : \u0027This is a message to echo\u0027, arg1 : \u0027Loud\u0027 }] You can always use the canonical name for the arguments, even if the source code was compiled with -parameters.",
              "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": "MIME Type"
              },
              "allowedStereotypeModels": [],
              "name": "outputMimeType",
              "displayModel": {
                "summary": "The mime type of the payload that this invocation will output"
              },
              "description": "The mime type of the payload that this invocation will output",
              "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": "MIME Type"
              },
              "allowedStereotypeModels": [],
              "name": "outputEncoding",
              "displayModel": {
                "summary": "The encoding of the payload that this invocation will output"
              },
              "description": "The encoding of the payload that this invocation will output",
              "modelProperties": {}
            }
          ],
          "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": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "displayModel": {
                "summary": "Fully qualified name of the Class containing the referenced Method",
                "classValueModel": {
                  "assignableFrom": []
                }
              },
              "description": "Represents the fully qualified name of the Class containing the referenced Method.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 1,
                  "providedByKeyResolver": false
                }
              }
            },
            {
              "type": {
                "format": "java",
                "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": 2
              },
              "allowedStereotypeModels": [],
              "name": "method",
              "displayModel": {
                "summary": "Represents the Method signature containing the method name and it\u0027s argument types."
              },
              "description": "Represents the Method signature containing the method name and it\u0027s argument types. \u003cp\u003e For example, for the method with signature public String log(String msg, boolean verbose) then the identifier of the method will be \"log(String, boolean)\"",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 2,
                  "providedByKeyResolver": true
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Method",
          "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": 7,
                "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": 8,
                "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": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "invoke",
      "description": "Operation that allows the user to invoke methods with the provided args on the given instance. The identifier of the Method to be invoked includes the class and method names, being the method a full description of its signature including the types of each parameter. \u003cp\u003e For example, if we want to invoke the method echo with signature public String echo(String msg) which belongs to Class org.bar.Foo, then the identifier of the method will be \"echo(String)\"",
      "modelProperties": {
        "metadataKeyId": {
          "type": {
            "format": "java",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.java.internal.parameters.MethodIdentifier",
              "classInformation": {
                "classname": "org.mule.extensions.java.internal.parameters.MethodIdentifier",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "org.mule.extensions.java.internal.parameters.ExecutableIdentifier",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "MethodIdentifier"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "class",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "NOT_SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Fully qualified name of the Class containing the referenced Method",
                      "classValueModel": {
                        "assignableFrom": []
                      }
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "method",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Represents the Method signature containing the method name and it\u0027s argument types."
                    }
                  }
                }
              }
            ]
          },
          "parameterName": "Method",
          "categoryName": "InstanceMethodTypes"
        }
      },
      "kind": "operation"
    },
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "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": true,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JAVA:CLASS_NOT_FOUND",
        "JAVA:ARGUMENTS_MISMATCH",
        "JAVA:INVOCATION",
        "JAVA:NO_SUCH_METHOD"
      ],
      "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",
                      "org.mule.runtime.api.metadata.TypedValue"
                    ],
                    "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",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "args",
              "description": "the arguments used to invoke the given Method. This parameter must be a map with the names of the method arguments as keys, and each of the argument values as values. For example, given a method echo with signature public String echo(String msg, String volume) a possible value for args is: #[{ msg : \u0027This is a message to echo\u0027, volume : \u0027Loud\u0027 }] In order to use those argument names the java class must be compiled with -parameters, in other case you have to use the canonical names for the arguments: #[{ arg0 : \u0027This is a message to echo\u0027, arg1 : \u0027Loud\u0027 }] You can always use the canonical name for the arguments, even if the source code was compiled with -parameters.",
              "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": "MIME Type"
              },
              "allowedStereotypeModels": [],
              "name": "outputMimeType",
              "displayModel": {
                "summary": "The mime type of the payload that this invocation will output"
              },
              "description": "The mime type of the payload that this invocation will output",
              "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": "MIME Type"
              },
              "allowedStereotypeModels": [],
              "name": "outputEncoding",
              "displayModel": {
                "summary": "The encoding of the payload that this invocation will output"
              },
              "description": "The encoding of the payload that this invocation will output",
              "modelProperties": {}
            }
          ],
          "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": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "displayModel": {
                "summary": "Fully qualified name of the Class containing the referenced Method",
                "classValueModel": {
                  "assignableFrom": []
                }
              },
              "description": "Represents the fully qualified name of the Class containing the referenced Method.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 1,
                  "providedByKeyResolver": false
                }
              }
            },
            {
              "type": {
                "format": "java",
                "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": 2
              },
              "allowedStereotypeModels": [],
              "name": "method",
              "displayModel": {
                "summary": "Represents the Method signature containing the method name and it\u0027s argument types."
              },
              "description": "Represents the Method signature containing the method name and it\u0027s argument types. \u003cp\u003e For example, for the method with signature public static String log(String msg, boolean verbose) then the identifier of the method will be \"log(String, boolean)\"",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 2,
                  "providedByKeyResolver": true
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Method",
          "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": 6,
                "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": 7,
                "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": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "invokeStatic",
      "description": "Operation that allows the user to invoke static methods with the provided arguments. The identifier of the Method to be invoked includes the class and method names, being the method a full description of its signature including the types of each parameter. \u003cp\u003e For example, if we want to invoke the static method echo with signature public static String echo(String msg) which belongs to Class org.bar.Foo, then the identifier of the method will be \"echo(String)\"",
      "modelProperties": {
        "metadataKeyId": {
          "type": {
            "format": "java",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.java.internal.parameters.StaticMethodIdentifier",
              "classInformation": {
                "classname": "org.mule.extensions.java.internal.parameters.StaticMethodIdentifier",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "org.mule.extensions.java.internal.parameters.ExecutableIdentifier",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "StaticMethodIdentifier"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "class",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "NOT_SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Fully qualified name of the Class containing the referenced Method",
                      "classValueModel": {
                        "assignableFrom": []
                      }
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "method",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Represents the Method signature containing the method name and it\u0027s argument types."
                    }
                  }
                }
              }
            ]
          },
          "parameterName": "Method",
          "categoryName": "StaticMethodTypes"
        }
      },
      "kind": "operation"
    },
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "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": true,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JAVA:CLASS_NOT_FOUND",
        "JAVA:ARGUMENTS_MISMATCH",
        "JAVA:NOT_INSTANTIABLE_TYPE",
        "JAVA:INVOCATION",
        "JAVA:NO_SUCH_CONSTRUCTOR"
      ],
      "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",
                      "org.mule.runtime.api.metadata.TypedValue"
                    ],
                    "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",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "args",
              "description": "the arguments used to invoke the given Constructor",
              "modelProperties": {}
            }
          ],
          "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": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "displayModel": {
                "summary": "Fully qualified name of the Class containing the referenced Method",
                "classValueModel": {
                  "assignableFrom": []
                }
              },
              "description": "Represents the fully qualified name of the Class containing the referenced Method.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 1,
                  "providedByKeyResolver": false
                }
              }
            },
            {
              "type": {
                "format": "java",
                "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": 2
              },
              "allowedStereotypeModels": [],
              "name": "constructor",
              "displayModel": {
                "summary": "Represents the Constructor signature containing the name and it\u0027s argument types."
              },
              "description": "Represents the Constructor signature containing the name and it\u0027s argument types. \u003cp\u003e For example, for the Constructor with signature public Foo(String name, Integer age) then the identifier of the method will be \"Foo(String, Integer)\"",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty": {
                  "order": 2,
                  "providedByKeyResolver": true
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Constructor",
          "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": 4,
                "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": 5,
                "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": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "new",
      "description": "Operation that allows the user to create a new instance of the given class The identifier of the Constructor to be used includes the class and constructor names, being the constructor a full description of its signature including the types of each parameter. \u003cp\u003e For example, if we want to invoke the constructor Foo(String name, int age) which belongs to Class org.bar.Foo, then the identifier of the method will be \"Foo(String,int)\"",
      "modelProperties": {
        "metadataKeyId": {
          "type": {
            "format": "java",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.java.internal.parameters.ConstructorIdentifier",
              "classInformation": {
                "classname": "org.mule.extensions.java.internal.parameters.ConstructorIdentifier",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "org.mule.extensions.java.internal.parameters.ExecutableIdentifier",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ConstructorIdentifier"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "class",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Fully qualified name of the Class containing the referenced Method",
                      "classValueModel": {
                        "assignableFrom": []
                      }
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "constructor",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "summary": "Represents the Constructor signature containing the name and it\u0027s argument types."
                    }
                  }
                }
              }
            ]
          },
          "parameterName": "Constructor",
          "categoryName": "ConstructorTypes"
        }
      },
      "kind": "operation"
    },
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JAVA:CLASS_NOT_FOUND",
        "JAVA:WRONG_INSTANCE_CLASS"
      ],
      "stereotype": {
        "type": "VALIDATOR",
        "namespace": "JAVA",
        "parent": {
          "type": "VALIDATOR",
          "namespace": "MULE",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "parameterGroupModels": [
        {
          "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": 1
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "displayModel": {
                "classValueModel": {
                  "assignableFrom": []
                }
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "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,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "instance",
              "description": "the object whose type is expected to be an instanceof of the given class",
              "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
              },
              "allowedStereotypeModels": [],
              "name": "acceptSubtypes",
              "description": "whether or not to accept sub types of the given class or if the instance has to be of the exact same class",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "validateType",
      "description": "Operation that allows the user to validate that a given instance is an instanceof the specified class.",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "functions": [
    {
      "output": {
        "type": {
          "format": "java",
          "type": "Object",
          "annotations": {
            "typeId": "java.lang.Throwable",
            "classInformation": {
              "classname": "java.lang.Throwable",
              "hasDefaultConstructor": true,
              "isInterface": false,
              "isInstantiable": true,
              "isAbstract": false,
              "isFinal": false,
              "implementedInterfaces": [
                "java.io.Serializable"
              ],
              "parent": "",
              "genericTypes": [],
              "isMap": false
            },
            "typeAlias": {
              "value": "Throwable"
            }
          },
          "fields": [
            {
              "key": {
                "name": "cause"
              },
              "model": "#..",
              "annotations": {
                "visibility": "READ_ONLY"
              }
            },
            {
              "key": {
                "name": "localizedMessage"
              },
              "model": {
                "type": "String"
              },
              "annotations": {
                "visibility": "READ_ONLY"
              }
            },
            {
              "key": {
                "name": "message"
              },
              "model": {
                "type": "String"
              },
              "annotations": {
                "visibility": "READ_ONLY"
              }
            },
            {
              "key": {
                "name": "stackTrace"
              },
              "model": {
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.StackTraceElement[]",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Cloneable",
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  }
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.lang.StackTraceElement",
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "StackTraceElement"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "className"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "fileName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "lineNumber"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "classInformation": {
                            "classname": "int",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "int": {}
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "methodName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "nativeMethod"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                }
              }
            },
            {
              "key": {
                "name": "suppressed"
              },
              "model": {
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Throwable[]",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Cloneable",
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  }
                },
                "item": "#../.."
              },
              "annotations": {
                "visibility": "READ_ONLY"
              }
            }
          ]
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "java.lang.Throwable",
                  "classInformation": {
                    "classname": "java.lang.Throwable",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "typeAlias": {
                    "value": "Throwable"
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "cause"
                    },
                    "model": "#..",
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "localizedMessage"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "message"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "stackTrace"
                    },
                    "model": {
                      "type": "Array",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement[]",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Cloneable",
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        }
                      },
                      "item": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.StackTraceElement",
                          "classInformation": {
                            "classname": "java.lang.StackTraceElement",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "StackTraceElement"
                          }
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "className"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "fileName"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "lineNumber"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "classInformation": {
                                  "classname": "int",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": true,
                                  "isFinal": true,
                                  "implementedInterfaces": [],
                                  "parent": "",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "int": {}
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "methodName"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "nativeMethod"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "typeId": "boolean"
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "suppressed"
                    },
                    "model": {
                      "type": "Array",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.Throwable[]",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Cloneable",
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        }
                      },
                      "item": "#../.."
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "exception",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "getRootCause",
      "description": "",
      "modelProperties": {},
      "kind": "function"
    },
    {
      "output": {
        "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": {}
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "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
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "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
              },
              "allowedStereotypeModels": [],
              "name": "method",
              "description": "",
              "modelProperties": {}
            },
            {
              "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,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "instance",
              "description": "",
              "modelProperties": {}
            },
            {
              "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",
                      "org.mule.runtime.api.metadata.TypedValue"
                    ],
                    "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": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "args",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "invoke",
      "description": "",
      "modelProperties": {},
      "kind": "function"
    },
    {
      "output": {
        "type": {
          "format": "java",
          "type": "Boolean",
          "annotations": {
            "typeId": "boolean"
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "java.lang.Throwable",
                  "classInformation": {
                    "classname": "java.lang.Throwable",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "typeAlias": {
                    "value": "Throwable"
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "cause"
                    },
                    "model": "#..",
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "localizedMessage"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "message"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "stackTrace"
                    },
                    "model": {
                      "type": "Array",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement[]",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Cloneable",
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        }
                      },
                      "item": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.StackTraceElement",
                          "classInformation": {
                            "classname": "java.lang.StackTraceElement",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "StackTraceElement"
                          }
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "className"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "fileName"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "lineNumber"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "classInformation": {
                                  "classname": "int",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": true,
                                  "isFinal": true,
                                  "implementedInterfaces": [],
                                  "parent": "",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "int": {}
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "methodName"
                            },
                            "model": {
                              "type": "String"
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "nativeMethod"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "typeId": "boolean"
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "suppressed"
                    },
                    "model": {
                      "type": "Array",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.Throwable[]",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Cloneable",
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        }
                      },
                      "item": "#../.."
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "exception",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "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
              },
              "allowedStereotypeModels": [],
              "name": "throwableType",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "includeSubtypes",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "isCausedBy",
      "description": "",
      "modelProperties": {},
      "kind": "function"
    },
    {
      "output": {
        "type": {
          "format": "java",
          "type": "Boolean",
          "annotations": {
            "typeId": "boolean"
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "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,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "instance",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "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
              },
              "allowedStereotypeModels": [],
              "name": "class",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "isInstanceOf",
      "description": "",
      "modelProperties": {},
      "kind": "function"
    }
  ],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "JAVA:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "JAVA:CLASS_NOT_FOUND",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:ARGUMENTS_MISMATCH",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:NOT_INSTANTIABLE_TYPE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:NO_SUCH_METHOD",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:VALIDATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:INVOCATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:NO_SUCH_CONSTRUCTOR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JAVA:WRONG_INSTANCE_CLASS",
      "parent": "MULE:VALIDATION",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": []
}
