---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    funktion.fabric8.io/kind: Connector
  name: jcache
data:
  deployment.yml: |
    ---
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      labels:
        funktion.fabric8.io/kind: Subscription
        connector: jcache
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            funktion.fabric8.io/kind: Subscription
            connector: jcache
        spec:
          containers:
          - image: funktion/connector-jcache:${project.version}
            name: connector
  schema.yml: |
    ---
    component:
      kind: component
      scheme: jcache
      syntax: jcache:cacheName
      title: JCache
      description: The jcache component enables you to perform caching operations using JSR107/JCache as cache implementation.
      label: cache,datagrid,clustering
      deprecated: false
      async: false
      javaType: org.apache.camel.component.jcache.JCacheComponent
      groupId: org.apache.camel
      artifactId: camel-jcache
      version: 2.18.3
    componentProperties: {}
    properties:
      cacheName:
        kind: path
        group: common
        required: true
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: the cache name
        order: 0
      managementEnabled:
        kind: parameter
        group: common
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: Whether management gathering is enabled
        order: 1
      readThrough:
        kind: parameter
        group: common
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: If read-through caching should be used
        order: 2
      statisticsEnabled:
        kind: parameter
        group: common
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: Whether statistics gathering is enabled
        order: 3
      storeByValue:
        kind: parameter
        group: common
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: true
        description: If cache should use store-by-value or store-by-reference semantics
        order: 4
      writeThrough:
        kind: parameter
        group: common
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: If write-through caching should be used
        order: 5
      bridgeErrorHandler:
        kind: parameter
        group: consumer
        label: consumer
        type: boolean
        javaType: boolean
        optionalPrefix: consumer.
        deprecated: false
        secret: false
        defaultValue: false
        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/ERROR level and ignored.
        order: 6
      filteredEvents:
        kind: parameter
        group: consumer
        label: consumer
        type: string
        javaType: java.util.List<javax.cache.event.EventType>
        enum:
        - CREATED
        - UPDATED
        - REMOVED
        - EXPIRED
        deprecated: false
        secret: false
        description: Events a consumer should filter. If using filteredEvents option then eventFilters one will be ignored
        order: 7
      oldValueRequired:
        kind: parameter
        group: consumer
        label: consumer
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: if the old value is required for events
        order: 8
      synchronous:
        kind: parameter
        group: consumer
        label: consumer
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: if the the event listener should block the thread causing the event
        order: 9
      eventFilters:
        kind: parameter
        group: consumer (advanced)
        label: consumer,advanced
        type: array
        javaType: java.util.List<javax.cache.event.CacheEntryEventFilter>
        deprecated: false
        secret: false
        description: The CacheEntryEventFilter. If using eventFilters option then filteredEvents one will be ignored
        order: 10
      exceptionHandler:
        kind: parameter
        group: consumer (advanced)
        label: consumer,advanced
        type: object
        javaType: org.apache.camel.spi.ExceptionHandler
        optionalPrefix: consumer.
        deprecated: false
        secret: false
        description: To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
        order: 11
      exchangePattern:
        kind: parameter
        group: consumer (advanced)
        label: consumer,advanced
        type: string
        javaType: org.apache.camel.ExchangePattern
        enum:
        - InOnly
        - RobustInOnly
        - InOut
        - InOptionalOut
        - OutOnly
        - RobustOutOnly
        - OutIn
        - OutOptionalIn
        deprecated: false
        secret: false
        description: Sets the exchange pattern when the consumer creates an exchange.
        order: 12
      action:
        kind: parameter
        group: producer
        label: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: To configure using a cache operation by default. If an operation in the message header then the operation from the header takes precedence.
        order: 13
      cacheConfiguration:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: javax.cache.configuration.Configuration
        deprecated: false
        secret: false
        description: A Configuration for the Cache
        order: 14
      cacheConfigurationProperties:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: java.util.Properties
        deprecated: false
        secret: false
        description: The Properties for the javax.cache.spi.CachingProvider to create the CacheManager
        order: 15
      cacheLoaderFactory:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: javax.cache.configuration.Factory<javax.cache.integration.CacheLoader>
        deprecated: false
        secret: false
        description: The CacheLoader factory
        order: 16
      cacheWriterFactory:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: javax.cache.configuration.Factory<javax.cache.integration.CacheWriter>
        deprecated: false
        secret: false
        description: The CacheWriter factory
        order: 17
      cachingProvider:
        kind: parameter
        group: advanced
        label: advanced
        required: true
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: The fully qualified class name of the javax.cache.spi.CachingProvider
        order: 18
      configurationUri:
        kind: parameter
        group: advanced
        label: advanced
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: An implementation specific URI for the CacheManager
        order: 19
      createCacheIfNotExists:
        kind: parameter
        group: advanced
        label: advanced
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: true
        description: Configure if a cache need to be created if it does exist or can't be pre-configured.
        order: 20
      expiryPolicyFactory:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy>
        deprecated: false
        secret: false
        description: The ExpiryPolicy factory
        order: 21
      lookupProviders:
        kind: parameter
        group: advanced
        label: advanced
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: Configure if a camel-cache should try to find implementations of jcache api in runtimes like OSGi.
        order: 22
  documentation.adoc: |+
    [[JCache-JCache]]
    JCache
    ~~~~~~






    // endpoint options: START
    The JCache component supports 23 endpoint options which are listed below:

    {% raw %}
    [width="100%",cols="2,1,1m,1m,5",options="header"]
    |=======================================================================
    | Name | Group | Default | Java Type | Description
    | cacheName | common |  | String | *Required* the cache name
    | managementEnabled | common | false | boolean | Whether management gathering is enabled
    | readThrough | common | false | boolean | If read-through caching should be used
    | statisticsEnabled | common | false | boolean | Whether statistics gathering is enabled
    | storeByValue | common | true | boolean | If cache should use store-by-value or store-by-reference semantics
    | writeThrough | common | false | boolean | If write-through caching should be used
    | bridgeErrorHandler | consumer | false | boolean | 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/ERROR level and ignored.
    | filteredEvents | consumer |  | List | Events a consumer should filter. If using filteredEvents option then eventFilters one will be ignored
    | oldValueRequired | consumer | false | boolean | if the old value is required for events
    | synchronous | consumer | false | boolean | if the the event listener should block the thread causing the event
    | eventFilters | consumer (advanced) |  | List | The CacheEntryEventFilter. If using eventFilters option then filteredEvents one will be ignored
    | exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
    | exchangePattern | consumer (advanced) |  | ExchangePattern | Sets the exchange pattern when the consumer creates an exchange.
    | action | producer |  | String | To configure using a cache operation by default. If an operation in the message header then the operation from the header takes precedence.
    | cacheConfiguration | advanced |  | Configuration | A Configuration for the Cache
    | cacheConfigurationProperties | advanced |  | Properties | The Properties for the javax.cache.spi.CachingProvider to create the CacheManager
    | cacheLoaderFactory | advanced |  | CacheLoader> | The CacheLoader factory
    | cacheWriterFactory | advanced |  | CacheWriter> | The CacheWriter factory
    | cachingProvider | advanced |  | String | *Required* The fully qualified class name of the javax.cache.spi.CachingProvider
    | configurationUri | advanced |  | String | An implementation specific URI for the CacheManager
    | createCacheIfNotExists | advanced | true | boolean | Configure if a cache need to be created if it does exist or can't be pre-configured.
    | expiryPolicyFactory | advanced |  | ExpiryPolicy> | The ExpiryPolicy factory
    | lookupProviders | advanced | false | boolean | Configure if a camel-cache should try to find implementations of jcache api in runtimes like OSGi.
    |=======================================================================
    {% endraw %}
    // endpoint options: END








    // component options: START
    The JCache component has no options.
    // component options: END


