{
  "groups": [
    {
      "name": "camel.component.dataset",
      "type": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration"
    },
    {
      "name": "camel.component.dataset-test",
      "type": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration"
    },
    {
      "name": "camel.component.dataset-test.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.dataset.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.dataset-test.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.dataset-test.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.dataset-test.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the dataset-test component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration"
    },
    {
      "name": "camel.component.dataset-test.exchange-formatter",
      "type": "org.apache.camel.spi.ExchangeFormatter",
      "description": "Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified, we default to DefaultExchangeFormatter. The option is a org.apache.camel.spi.ExchangeFormatter type.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration"
    },
    {
      "name": "camel.component.dataset-test.lazy-start-producer",
      "type": "java.lang.Boolean",
      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.dataset-test.log",
      "type": "java.lang.Boolean",
      "description": "To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetTestComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.dataset.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.dataset.bridge-error-handler",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.dataset.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.dataset.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the dataset component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration"
    },
    {
      "name": "camel.component.dataset.exchange-formatter",
      "type": "org.apache.camel.spi.ExchangeFormatter",
      "description": "Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified, we default to DefaultExchangeFormatter. The option is a org.apache.camel.spi.ExchangeFormatter type.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration"
    },
    {
      "name": "camel.component.dataset.lazy-start-producer",
      "type": "java.lang.Boolean",
      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.dataset.log",
      "type": "java.lang.Boolean",
      "description": "To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",
      "sourceType": "org.apache.camel.component.dataset.springboot.DataSetComponentConfiguration",
      "defaultValue": false
    }
  ],
  "hints": []
}