{
  "factory": {
    "id": "connection-based-connector-in",
    "type": "entaxy.runtime.connector",
    "description": "Abstract IN-connector (consumer) factory for connection based connectors",
    "label": "connector,connection-based",
    "isAbstract": true,
    "parent": "abstract-connector-in",
    "requires": [
      "file-connection"
    ]
  },
  "entaxy.runtime.connector": {
    "type": "file",
    "protocol": "file"
  },
  "fields": {
    "entaxyOriginConnection": {
      "displayName": "Connection",
      "type": "entaxy.runtime.connection",
      "description": "The connection on which the current connector is based.",
      "filter": "(type=entaxy.runtime.connection)",
      /* "importPrefix": "camel_", */
      "required": true,
      "immutable": true,
      "isRef": true,
      "isRefByValueOnly": false,
      "resolveAlways": true,
      "refField": "objectId",
      "@TYPEINFO": {
        "enablePrivateObjectCreation": false,
        "updateParentFields": true
      }
    },
    "generateLoggingKey": {
      "displayName": "Generate logging key",
      "description": "Enable to automatically create a logging key that will be used to track the request processing. (${exchangeProperty.requestId}, ${exchangeProperty.service}, ${exchangeProperty.operation}, ${exchangeProperty.objectId}, ${exchangeProperty.parameter}, ${exchangeProperty.sender}, ${exchangeProperty.receiver})",
      "type": "Boolean",
      "required": false,
      "group": "general",
      "defaultValue": true,
      "@UI": {
        "transmitAlways": true
      }
    },
    "##publish": {
      "defaultValue": {
        "@INHERIT": {
          "relation": "append"
        },
        "relation": [
          {
            "@CALCULATED": {
              "lazy": false,
              "expression": "${properties.entaxyOriginConnection}:entaxy.runtime.connection:connection:dependency:connections",
              "resultType": "string",
              "allowObjects": false
            }
          }
        ]
      }
    }
  },
  "outputs": {
    "init": {
      "isDefault": true,
      "fields": {
        "entaxyOriginConnection": {},
        "generateLoggingKey": {}
      },
      "config": {
        "configurable": false
      }
    }
  }
}
