{
  "name": "Spring",
  "description": "Spring Module Plugin",
  "version": "1.0.0-SNAPSHOT",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "spring",
    "namespace": "http://www.mulesoft.org/schema/mule/spring",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/spring/current/mule-spring.xsd",
    "schemaVersion": "1.0.0-SNAPSHOT",
    "xsdFileName": "mule-spring.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [
    {
      "name": "Spring Beans",
      "description": "Spring Beans (http://projects.spring.io/spring-framework). Based on the application usage of the Spring Framework, other spring dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework:spring-beans:4.1.9.RELEASE",
      "optional": false
    },
    {
      "name": "Spring Context",
      "description": "Spring Context (http://projects.spring.io/spring-framework). Based on the application usage of the Spring Framework, other spring dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework:spring-context:4.1.9.RELEASE",
      "optional": false
    },
    {
      "name": "Spring Security Config",
      "description": "Spring Security Config (http://spring.io/spring-security). Based on the application usage of the Spring Framework, other spring/spring-security dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework.security:spring-security-config:4.0.4.RELEASE",
      "optional": true
    },
    {
      "name": "Spring Security Core",
      "description": "Spring Security Context (http://spring.io/spring-security). Based on the application usage of the Spring Framework, other spring/spring-security dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework.security:spring-security-core:4.0.4.RELEASE",
      "optional": false
    },
    {
      "name": "Spring Security LDAP",
      "description": "Spring Security LDAP (http://spring.io/spring-security). Based on the application usage of the Spring Framework, other spring/spring-security dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework.security:spring-security-ldap:4.0.4.RELEASE",
      "optional": true
    },
    {
      "name": "Spring Security Web",
      "description": "Spring Security Web (http://spring.io/spring-security). Based on the application usage of the Spring Framework, other spring/spring-security dependencies may be required.",
      "type": "DEPENDENCY",
      "suggestedCoordinates": "org.springframework.security:spring-security-web:4.0.4.RELEASE",
      "optional": true
    }
  ],
  "importedTypes": [],
  "configurations": [
    {
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "allowedStereotypeModels": [],
              "name": "files",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Spring configuration that allows to define a set of spring XML files and create an application context with objects to be used in the mule artifact.",
      "modelProperties": {}
    },
    {
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Array",
                "item": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.runtime.core.api.security.SecurityProvider",
                    "classInformation": {
                      "classname": "org.mule.runtime.core.api.security.SecurityProvider",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "org.mule.runtime.api.meta.NameableObject"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SecurityProvider"
                    }
                  },
                  "fields": []
                }
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "allowedStereotypeModels": [],
              "name": "providers",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "security-manager",
      "description": "This is the security provider type that is used to configure spring-security related functionality.",
      "modelProperties": {}
    }
  ],
  "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": [
        "MULE:NOT_PERMITTED",
        "MULE:SERVER_SECURITY"
      ],
      "stereotype": {
        "type": "PROCESSOR",
        "namespace": "MULE"
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "allowedStereotypeModels": [],
              "name": "requiredAuthorities",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "authorization-filter",
      "description": "Authorize users against a required set of authorities.",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "errors": [],
  "modelProperties": {},
  "types": []
}
