{
  "name": "Validation",
  "description": "A module which allows to perform data validations. If the validation fails, an Error is thrown.\nThe error type might vary but it will always be a child of VALIDATION:VALIDATION",
  "version": "0.9.0",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "minMuleVersion": "4.0.0",
  "xmlDsl": {
    "prefix": "validation",
    "namespace": "http://www.mulesoft.org/schema/mule/validation",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/validation/current/mule-validation.xsd",
    "schemaVersion": "0.9.0",
    "xsdFileName": "mule-validation.xsd"
  },
  "resources": [
    "/META-INF/org/mule/runtime/core/i18n/validation-messages.properties"
  ],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "VALIDATION",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extension.validation.api.I18NConfig"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "i18n",
              "description": "Allows to configure I18n for the standard error messages",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "MULE",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "class",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.validation.api.Validator"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "ref",
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [
                {
                  "exclusiveParameterNames": [
                    "ref",
                    "class"
                  ],
                  "isOneRequired": true
                }
              ],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Validator",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "customValidator",
          "description": "",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_EMAIL",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "email",
                  "description": "an email address",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isEmail",
          "description": "Validates that the email address is valid",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "NOT_EMPTY",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "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": []
                      },
                      "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": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to check",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isEmpty",
          "description": "Validates that value is empty. The definition of empty depends on the type of value. If it\u0027s a String\nit will check that it is not blank. If it\u0027s a Collection, array or Map it will check that it\u0027s not empty. No\nother types are supported, an IllegalArgumentException will be thrown if any other type is supplied",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_BOOLEAN",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "expression",
                  "description": "the boolean to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isFalse",
          "description": "Validates that the given value is false",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_IP",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "ip",
                  "description": "the ip address to validate",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isIp",
          "displayModel": {
            "displayName": "Is IP"
          },
          "description": "Validates that an ip address represented as a String is valid",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "EMPTY",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "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": []
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to check",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isNotEmpty",
          "description": "Validates that value is not empty. The definition of empty depends on the type of value. If it\u0027s a\nString it will check that it is not blank. If it\u0027s a Collection, array or Map it will check that it\u0027s\nnot empty. No other types are supported, an IllegalArgumentException will be thrown if any other type is supplied",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "NULL",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "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": []
                      },
                      "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": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isNotNull",
          "description": "Validates that the given value is not null.",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "NOT_NULL",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "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": []
                      },
                      "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": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isNull",
          "description": "Validates that the given value is null.",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_NUMBER",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to be tested",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "locale",
                  "description": "The locale to use for the format. If not provided it defaults to the system Locale",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "pattern",
                  "description": "The pattern used to format the value",
                  "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
                  },
                  "allowedStereotypeModels": [],
                  "name": "minValue",
                  "description": "If provided, check that the parsed value is greater or equal than this value",
                  "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
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxValue",
                  "description": "If provided, check that the parsed value is less or equal than this value",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.validation.api.NumberType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "INTEGER",
                          "LONG",
                          "SHORT",
                          "DOUBLE",
                          "FLOAT"
                        ]
                      }
                    }
                  },
                  "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": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "numberType",
                  "description": "the type of number to test value against",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isNumber",
          "description": "Receives a numeric value as a String and validates that it can be parsed per the rules of a\nnumberType",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_TIME",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "time",
                  "description": "A date in String format",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "locale",
                  "description": "the locale of the String",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "pattern",
                  "description": "the pattern for the date",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isTime",
          "description": "Validates that a time in String format is valid for the given pattern and locale. If no\npattern is provided, then the locale\u0027s default will be used",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_BOOLEAN",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "expression",
                  "description": "the boolean to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isTrue",
          "description": "Validates that the given value is true",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_URL",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "url",
                  "displayModel": {
                    "displayName": "URL"
                  },
                  "description": "the URL to validate as a String",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "isUrl",
          "displayModel": {
            "displayName": "Is URL"
          },
          "description": "Validates that url is a valid one",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "MISMATCH",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "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,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to check",
                  "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,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "regex",
                  "description": "the regular expression to check against",
                  "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": "caseSensitive",
                  "description": "when true matching is case sensitive, otherwise matching is case in-sensitive",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "matchesRegex",
          "description": "Validates that value matches the regex regular expression",
          "modelProperties": {},
          "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,
          "nestedComponents": [],
          "errors": [
            {
              "type": "INVALID_SIZE",
              "namespace": "VALIDATION",
              "parent": {
                "type": "VALIDATION",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "VALIDATION",
                  "namespace": "MULE",
                  "parent": {
                    "type": "ANY",
                    "namespace": "MULE"
                  }
                }
              }
            }
          ],
          "stereotype": {
            "type": "VALIDATOR",
            "namespace": "VALIDATION",
            "parent": {
              "type": "VALIDATOR",
              "namespace": "MULE",
              "parent": {
                "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": []
                      },
                      "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": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "value",
                  "description": "the value to validate",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": []
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "0",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "min",
                  "description": "the minimum expected length (inclusive, defaults to zero)",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": []
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "max",
                  "description": "the maximum expected length (inclusive). Leave unspecified or null to allow any max length",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "message",
                  "description": "Specifies the message that is to be notified to the user if the validation fails. It\u0027s marked as not dynamic to allow eager\nevaluation of the expression in case that the validation is successful and the message is not needed. Components consuming\nthis value are to manually check if this is an expression and evaluate it in case that the validation failed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Error options",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "validateSize",
          "description": "Validates that value has a size between certain inclusive boundaries. This validator is capable of handling instances\nof String, Collection, Map and arrays",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "errors": [
    {
      "type": "CONNECTIVITY",
      "namespace": "VALIDATION",
      "parent": {
        "type": "CONNECTIVITY",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "CONNECTIVITY",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "ANY",
      "namespace": "MULE"
    },
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "VALIDATION",
      "parent": {
        "type": "RETRY_EXHAUSTED",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "NULL",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_TIME",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_NUMBER",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "VALIDATION",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "INVALID_IP",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "NOT_EMPTY",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_SIZE",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "VALIDATION",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "NOT_NULL",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_BOOLEAN",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "EMPTY",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_EMAIL",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "MISMATCH",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "MULTIPLE",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    },
    {
      "type": "INVALID_URL",
      "namespace": "VALIDATION",
      "parent": {
        "type": "VALIDATION",
        "namespace": "VALIDATION",
        "parent": {
          "type": "VALIDATION",
          "namespace": "MULE",
          "parent": {
            "type": "ANY",
            "namespace": "MULE"
          }
        }
      }
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.validation.api.I18NConfig",
        "classInformation": {
          "classname": "org.mule.extension.validation.api.I18NConfig",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "i18n"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bundlePath",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "locale"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "default": "",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.validation.api.Validator",
        "classInformation": {
          "classname": "org.mule.extension.validation.api.Validator",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "Validator"
        }
      },
      "fields": []
    }
  ]
}
