{
  "name": "Validation",
  "description": "Allows performing validations and throw an Exception if the validation fails",
  "version": "0.8.0-BETA",
  "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.8.0-BETA",
    "xsdFileName": "mule-validation.xsd"
  },
  "resources": [
    "/META-INF/org/mule/runtime/core/i18n/validation-messages.properties"
  ],
  "subTypes": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "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
              },
              "name": "i18n",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "CPU_LITE",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
                  },
                  "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",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "email",
                  "description": "an email address",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "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
                  },
                  "name": "value",
                  "description": "the value to check",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "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
                  },
                  "name": "expression",
                  "description": "the boolean to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "ip",
                  "description": "the ip address to validate",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "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
                  },
                  "name": "value",
                  "description": "the value to check",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "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
                  },
                  "name": "value",
                  "description": "the value to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "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
                  },
                  "name": "value",
                  "description": "the value to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "value",
                  "description": "the value to be tested",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "pattern",
                  "description": "The pattern used to format the value",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "minValue",
                  "description": "If provided, check that the parsed value is greater or equal than this value",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
                  },
                  "name": "numberType",
                  "description": "the type of number to test value against",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "time",
                  "description": "A date in String format",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "locale",
                  "description": "the locale of the String",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "pattern",
                  "description": "the pattern for the date",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "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
                  },
                  "name": "expression",
                  "description": "the boolean to test",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "url",
                  "displayModel": {
                    "displayName": "URL"
                  },
                  "description": "the URL to validate as a String",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "name": "value",
                  "description": "the value to check",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
                  },
                  "name": "caseSensitive",
                  "description": "when true matching is case sensitive, otherwise matching is case in-sensitive",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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",
          "errors": [
            {
              "type": "VALIDATION",
              "namespace": "VALIDATION",
              "parent": {
                "type": "ANY",
                "namespace": "VALIDATION",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "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,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "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
                  },
                  "name": "value",
                  "description": "the value to validate",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "int": {},
                      "typeId": "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
                  },
                  "name": "min",
                  "description": "the minimum expected length (inclusive, defaults to zero)",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "typeId": "java.lang.Integer"
                    }
                  },
                  "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
                  },
                  "name": "max",
                  "description": "the maximum expected length (inclusive). Leave unspecified or null to allow any max length",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.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
                  },
                  "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
              },
              "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": "An extension which provides validation capabilities by exposing a series of Validators as ExtensionModel\nOperationModels\nThis class not only defines the extension but also acts as the only available ConfigurationModel for it. It allows\nparametrizing the Validators with i18n bundles (through a I18NConfig",
      "modelProperties": {}
    }
  ],
  "operations": [
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "errors": [
        {
          "type": "VALIDATION",
          "namespace": "VALIDATION",
          "parent": {
            "type": "ANY",
            "namespace": "VALIDATION",
            "parent": {
              "type": "ANY",
              "namespace": "MULE"
            }
          }
        }
      ],
      "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,
      "stereotypes": [],
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "typeId": "java.util.List"
                },
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.runtime.core.api.NestedProcessor",
                    "classInformation": {
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": []
                    },
                    "typeAlias": {
                      "value": "NestedProcessor"
                    }
                  },
                  "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
              },
              "name": "validations",
              "description": "the nested validation operations",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "all",
      "description": "Perform a list of nested validation operations and informs only one MultipleValidationResult which summarizes all of\nthe found errors (if any).\n\u003cp\u003e\nIf throwsException is true, then the ValidationResult is communicated by throwing a\nValidationException. On the other hand, if throwsException is false, then the\nValidationResult is set as the message payload.\n\u003cp\u003e\nWhen configured through XML, all the validations must include the All the child processors must contain the\nvalidator-message-processor substitution group.",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "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": "VALIDATION",
      "namespace": "VALIDATION",
      "parent": {
        "type": "ANY",
        "namespace": "VALIDATION",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "ANY",
      "namespace": "VALIDATION",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.validation.api.I18NConfig",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": true,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "xmlHints": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true,
          "allowReferences": true
        },
        "typeAlias": {
          "value": "i18n"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bundlePath",
            "required": "true"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "locale"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "default": "",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.validation.api.Validator",
        "classInformation": {
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "Validator"
        }
      },
      "fields": []
    }
  ]
}
