{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.hazelcastmap.CamelHazelcastmapSourceConnector",
		"artifactId": "camel-hazelcast-map-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-hazelcast-map-source",
		"type": "source",
		"version": "0.7.2-SNAPSHOT",
		"description": "Perform operations on Hazelcast distributed map."
	},
	"properties": {
		"camel.source.path.cacheName": {
			"name": "camel.source.path.cacheName",
			"description": "The name of the cache",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.defaultOperation": {
			"name": "camel.source.endpoint.defaultOperation",
			"description": "To specify a default operation to use, if no operation header has been provided. One of: [put] [delete] [get] [update] [query] [getAll] [clear] [putIfAbsent] [allAll] [removeAll] [retainAll] [evict] [evictAll] [valueCount] [containsKey] [containsValue] [keySet] [removevalue] [increment] [decrement] [setvalue] [destroy] [compareAndSet] [getAndAdd] [add] [offer] [peek] [poll] [remainingCapacity] [drainTo] [removeIf] [take] [publish] [readOnceHeal] [readOnceTail] [capacity]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"put",
				"delete",
				"get",
				"update",
				"query",
				"getAll",
				"clear",
				"putIfAbsent",
				"allAll",
				"removeAll",
				"retainAll",
				"evict",
				"evictAll",
				"valueCount",
				"containsKey",
				"containsValue",
				"keySet",
				"removevalue",
				"increment",
				"decrement",
				"setvalue",
				"destroy",
				"compareAndSet",
				"getAndAdd",
				"add",
				"offer",
				"peek",
				"poll",
				"remainingCapacity",
				"drainTo",
				"removeIf",
				"take",
				"publish",
				"readOnceHeal",
				"readOnceTail",
				"capacity"
			]
		},
		"camel.source.endpoint.hazelcastInstance": {
			"name": "camel.source.endpoint.hazelcastInstance",
			"description": "The hazelcast instance reference which can be used for hazelcast endpoint.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.hazelcastInstanceName": {
			"name": "camel.source.endpoint.hazelcastInstanceName",
			"description": "The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.bridgeErrorHandler": {
			"name": "camel.source.endpoint.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exceptionHandler": {
			"name": "camel.source.endpoint.exceptionHandler",
			"description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exchangePattern": {
			"name": "camel.source.endpoint.exchangePattern",
			"description": "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"InOnly",
				"InOut",
				"InOptionalOut"
			]
		},
		"camel.source.endpoint.synchronous": {
			"name": "camel.source.endpoint.synchronous",
			"description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.hazelcast-map.bridgeErrorHandler": {
			"name": "camel.component.hazelcast-map.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.hazelcast-map.autowiredEnabled": {
			"name": "camel.component.hazelcast-map.autowiredEnabled",
			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.hazelcast-map.hazelcastInstance": {
			"name": "camel.component.hazelcast-map.hazelcastInstance",
			"description": "The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.hazelcast-map.hazelcastMode": {
			"name": "camel.component.hazelcast-map.hazelcastMode",
			"description": "The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default.",
			"defaultValue": "\"node\"",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}