Class JsonValidatorEndpoint

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean, org.apache.camel.CamelContextAware, org.apache.camel.Endpoint, org.apache.camel.IsSingleton, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasId, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @ManagedResource(description="Managed JsonValidatorEndpoint")
    @UriEndpoint(scheme="json-validator",
                 firstVersion="2.20.0",
                 title="JSON Schema Validator",
                 syntax="json-validator:resourceUri",
                 producerOnly=true,
                 category=VALIDATION)
    public class JsonValidatorEndpoint
    extends org.apache.camel.component.ResourceEndpoint
    Validate JSON payloads using NetworkNT JSON Schema.
    • Field Summary

      • Fields inherited from class org.apache.camel.component.ResourceEndpoint

        log
      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILDED, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTINGDOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearContentCache()  
      protected String createEndpointUri()  
      JsonValidatorErrorHandler getErrorHandler()  
      org.apache.camel.ExchangePattern getExchangePattern()  
      String getHeaderName()  
      JsonSchemaLoader getSchemaLoader()  
      boolean isFailOnNullBody()  
      boolean isFailOnNullHeader()  
      protected void onExchange​(org.apache.camel.Exchange exchange)  
      void setErrorHandler​(JsonValidatorErrorHandler errorHandler)
      To use a custom ValidatorErrorHandler.
      void setFailOnNullBody​(boolean failOnNullBody)
      Whether to fail if no body exists.
      void setFailOnNullHeader​(boolean failOnNullHeader)
      Whether to fail if no header exists when validating against a header.
      void setHeaderName​(String headerName)
      To validate against a header instead of the message body.
      void setSchemaLoader​(JsonSchemaLoader schemaLoader)
      To use a custom schema loader allowing for adding custom format validation.
      • Methods inherited from class org.apache.camel.component.ResourceEndpoint

        getCamelId, getCamelManagementName, getResourceAsInputStream, getResourceAsInputStreamWithoutCache, getResourceUri, getState, isAllowContextMapAll, isContentCache, isContentCacheCleared, loadResource, setAllowContextMapAll, setContentCache, setResourceUri
      • Methods inherited from class org.apache.camel.support.ProcessorEndpoint

        createPollingConsumer, createProcessor, createProducer, getProcessor, setProcessor
      • Methods inherited from class org.apache.camel.support.DefaultPollingEndpoint

        createConsumer
      • Methods inherited from class org.apache.camel.support.ScheduledPollEndpoint

        configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, doStart, doStop, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay
      • Methods inherited from class org.apache.camel.support.DefaultEndpoint

        configurePollingConsumer, createAsyncProducer, createExchange, createExchange, doInit, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isBasicPropertyBinding, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isSingleton, isSynchronous, setBasicPropertyBinding, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerQueueSize, setProperties, setSynchronous, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
      • Methods inherited from interface org.apache.camel.Endpoint

        getEndpointBaseUri, isSingletonProducer
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        isSuspended, resume, suspend
    • Constructor Detail

      • JsonValidatorEndpoint

        public JsonValidatorEndpoint​(String endpointUri,
                                     org.apache.camel.Component component,
                                     String resourceUri)
    • Method Detail

      • clearContentCache

        public void clearContentCache()
        Specified by:
        clearContentCache in interface org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean
        Overrides:
        clearContentCache in class org.apache.camel.component.ResourceEndpoint
      • getExchangePattern

        public org.apache.camel.ExchangePattern getExchangePattern()
        Overrides:
        getExchangePattern in class org.apache.camel.support.DefaultEndpoint
      • onExchange

        protected void onExchange​(org.apache.camel.Exchange exchange)
                           throws Exception
        Overrides:
        onExchange in class org.apache.camel.support.ProcessorEndpoint
        Throws:
        Exception
      • createEndpointUri

        protected String createEndpointUri()
        Overrides:
        createEndpointUri in class org.apache.camel.support.DefaultEndpoint
      • setErrorHandler

        public void setErrorHandler​(JsonValidatorErrorHandler errorHandler)
        To use a custom ValidatorErrorHandler.

        The default error handler captures the errors and throws an exception.

      • setSchemaLoader

        public void setSchemaLoader​(JsonSchemaLoader schemaLoader)
        To use a custom schema loader allowing for adding custom format validation. The default implementation will create a schema loader with draft v4 support.
      • isFailOnNullBody

        public boolean isFailOnNullBody()
      • setFailOnNullBody

        public void setFailOnNullBody​(boolean failOnNullBody)
        Whether to fail if no body exists.
      • isFailOnNullHeader

        public boolean isFailOnNullHeader()
      • setFailOnNullHeader

        public void setFailOnNullHeader​(boolean failOnNullHeader)
        Whether to fail if no header exists when validating against a header.
      • getHeaderName

        public String getHeaderName()
      • setHeaderName

        public void setHeaderName​(String headerName)
        To validate against a header instead of the message body.