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

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

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void clearContentCache()  
      protected String createEndpointUri()  
      JsonValidatorErrorHandler getErrorHandler()  
      org.apache.camel.ExchangePattern getExchangePattern()  
      String getHeaderName()  
      JsonSchemaLoader getSchemaLoader()
      Deprecated.
      JsonUriSchemaLoader getUriSchemaLoader()  
      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)
      void setUriSchemaLoader​(JsonUriSchemaLoader uriSchemaLoader)
      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, getDefaultDelay, 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

        configureExchange, configurePollingConsumer, createAsyncProducer, createExchange, createExchange, doInit, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, 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()
        Specified by:
        getExchangePattern in interface org.apache.camel.Endpoint
        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.

      • setUriSchemaLoader

        public void setUriSchemaLoader​(JsonUriSchemaLoader uriSchemaLoader)
        To use a custom schema loader allowing for adding custom format validation. The default implementation will create a schema loader that tries to determine the schema version from the $schema property of the specified schema.
      • 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.