{
  "factory": {
    "id": "custom-connector-out",
    "type": "entaxy.runtime.connector",
    "displayName": "CUSTOM :: OUT",
    "shortName": "custom",
    "description": "OUT-connector with custom entry route",
    "isAbstract": false,
    "parent": "abstract-connector-out",
    "label": "connector,out,custom",
    "category": ""
  },
  "entaxy.runtime.connector": {
    "exclusiveMode": "NON_EXCLUSIVE_ONLY"
  },
  "fields": {
    "customOutputRoute": {
      "displayName": "Output route",
      "description": "Custom route for applying any user logic",
      "type": "xml:route",
      "required": true,
      "group": "custom route",
      "@RESOURCE": {
        "_provider": "entaxy-file-internal",
        "endType": "String",
        "format": "base64",
        "postprocess_bak": [
          {
            "processor": "xslt",
            "source": "entaxy-file-internal:routes-common/custom-connectors.xslt",
            "parameters": {
              "profileName": {
                "@CALCULATED": {
                  "expression": "${#OWNER#.properties.systemName}",
                  "lazy": false
                }
              },
				"connectorId": {
					"@CALCULATED": {
						"expression": "${#OWNER#.objectId}",
						"lazy": true
					}
				}
              
            }
          },
          {
            "processor": "xslt",
            "source": "entaxy-file-internal:routes-common/common-components.xslt",
            "parameters": {
              "profileName": {
                "@CALCULATED": {
                  "expression": "${#OWNER#.properties.systemName}",
                  "lazy": false
                }
              }
            }
          }
        ],
        "postprocess": [
		  {
		  	"processor": "component-library",
			"parameters": {
				"profileName": {				
					"@CALCULATED": {
						"expression": "${#OWNER#.properties.systemName}",
						"lazy": false
					}
				}
			}
		  }
		]
      },
      "defaultValue": {
        "@RESOURCE": {
          "provider": "entaxy-file-internal",
          "location": "factories/custom-connector-out/output-route.xml",
          "endType": "String",
          "format": "base64"
        }
      },
      "config": {
        "scope": "public"
      }
    },
	"__components": {
		"defaultValue": {
			"properties": {
				"type": {
					"@CALCULATED": {
						"expression": "${#OWNER#.properties.customType}",
						"lazy": true
					}						
				},
				"protocol": {
					"@CALCULATED": {
						"expression": "${#OWNER#.properties.customProtocol}",
						"lazy": true
					}						
				}
			}
		}		
	}
    
  },
  "outputs": {
    "init": {
      "isDefault": false,
      "generator": "",
      "config": {},
      "fields": {
        "customOutputRoute": {},
        "@IMPORT": [
          {
				"sourceFactoryId": "custom-connector-components",
				"location": "outputs.init.fields",
				"prefix": ""
          }
        ]
      }
    }
  }
}
