{
  "factory": {
    "id": "object-config",
    "type": "entaxy.runtime.config",
    "description": "Entaxy object configuration factory",
    "isAbstract": false
  },
  "entaxy.runtime.config": {},
  "fields": {
    "configurables": {
      "type": "Map",
      "group": "config",
      "required": true,
      "defaultValue": {}
    },
    "immutables": {
      "type": "Map",
      "group": "config",
      "required": true,
      "defaultValue": {}
    }
  },
  "outputs": {
    "init": {
      "isDefault": true,
      "scopes": ["private", "public"],
      "fields": {
      	"__entaxy_configuredId": {
      		"type": "String",
      		"isHidden": true
      	},
      	"__entaxy_configuredType": {
      		"type": "String",
      		"isHidden": true
      	},
      	"__entaxy_configuredFactoryId": {
      		"type": "String",
      		"isHidden": true
      	},
      	"__entaxy_configuredOutput": {
      		"type": "String",
      		"isHidden": true
      	}
      }
    },
    "config-defaults": {
      "isDefault": false,
      "scopes": ["private", "public"],
      "fields": {
      	"##publish": {
      		"defaultValue": {
      			"name": {
					"@CALCULATED": {
						"expression": "${properties.configurationPid}",
						"lazy": true
					}      				
      			},
      			"objectId": {
					"@CALCULATED": {
						"expression": "${properties.configurationPid}",
						"lazy": true
					}      				
      			},
				"relation": [
					{
						"@CALCULATED": {
							"expression": "${properties.__entaxy_configuredId}:${properties.__entaxy_configuredType}:config:-composition:config",
							"lazy": false
						}
					}
				],
				"target": {
						"@CALCULATED": {
							"expression": "${properties.__entaxy_configuredId}:${properties.__entaxy_configuredType}",
							"lazy": false
						}
				}
      		}
      	}
      },
      "config": {
	      "@PUBLISH_AS": {
	      	"*": "configurationPid"
	      }
      }
    },
    "config-link-field": {
      "isDefault": false,
      "generator": "",
      "config": {},
      "scopes": ["private", "public"]
    },
    "config-defaults-field": {
      "isDefault": false,
      "generator": "",
      "config": {},
      "scopes": ["private"]
    },
    "ref":{
      "scopes": ["private", "public"]
    }
  }
}