Class ValidatingProcessor
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.AsyncProcessorSupport
-
- org.apache.camel.support.processor.validation.ValidatingProcessor
-
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.AsyncProcessor,org.apache.camel.Processor,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
public class ValidatingProcessor extends org.apache.camel.support.AsyncProcessorSupportA processor which validates the XML version of the inbound message body against some schema either in XSD or RelaxNG
-
-
Constructor Summary
Constructors Constructor Description ValidatingProcessor()ValidatingProcessor(SchemaReader schemaReader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SchemacreateSchema()protected SchemaFactorycreateSchemaFactory()protected SourcecreateSchemaSource()protected voiddoProcess(org.apache.camel.Exchange exchange)ValidatorErrorHandlergetErrorHandler()StringgetHeaderName()LSResourceResolvergetResourceResolver()SchemagetSchema()byte[]getSchemaAsByteArray()SchemaFactorygetSchemaFactory()FilegetSchemaFile()StringgetSchemaLanguage()SourcegetSchemaSource()URLgetSchemaUrl()protected SourcegetSource(org.apache.camel.Exchange exchange, Object content)booleanisFailOnNullBody()booleanisFailOnNullHeader()protected booleanisInputStreamNeeded(org.apache.camel.Exchange exchange)Checks whether we need anInputStreamto access the message body or header.booleanisUseSharedSchema()voidloadSchema()booleanprocess(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)voidsetErrorHandler(ValidatorErrorHandler errorHandler)voidsetFailOnNullBody(boolean failOnNullBody)voidsetFailOnNullHeader(boolean failOnNullHeader)voidsetHeaderName(String headerName)voidsetResourceResolver(LSResourceResolver resourceResolver)voidsetSchema(Schema schema)voidsetSchemaAsByteArray(byte[] schemaAsByteArray)voidsetSchemaFactory(SchemaFactory schemaFactory)voidsetSchemaFile(File schemaFile)voidsetSchemaLanguage(String schemaLanguage)voidsetSchemaSource(Source schemaSource)voidsetSchemaUrl(URL schemaUrl)voidsetUseSharedSchema(boolean useSharedSchema)-
Methods inherited from class org.apache.camel.support.AsyncProcessorSupport
doStart, doStop, process, processAsync
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, 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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
ValidatingProcessor
public ValidatingProcessor()
-
ValidatingProcessor
public ValidatingProcessor(SchemaReader schemaReader)
-
-
Method Detail
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)
-
doProcess
protected void doProcess(org.apache.camel.Exchange exchange) throws Exception- Throws:
Exception
-
getSchema
public Schema getSchema() throws IOException, SAXException
- Throws:
IOExceptionSAXException
-
setSchema
public void setSchema(Schema schema)
-
getSchemaLanguage
public String getSchemaLanguage()
-
setSchemaLanguage
public void setSchemaLanguage(String schemaLanguage)
-
getSchemaSource
public Source getSchemaSource() throws IOException
- Throws:
IOException
-
setSchemaSource
public void setSchemaSource(Source schemaSource)
-
getSchemaUrl
public URL getSchemaUrl()
-
setSchemaUrl
public void setSchemaUrl(URL schemaUrl)
-
getSchemaFile
public File getSchemaFile()
-
setSchemaFile
public void setSchemaFile(File schemaFile)
-
getSchemaAsByteArray
public byte[] getSchemaAsByteArray()
-
setSchemaAsByteArray
public void setSchemaAsByteArray(byte[] schemaAsByteArray)
-
getSchemaFactory
public SchemaFactory getSchemaFactory()
-
setSchemaFactory
public void setSchemaFactory(SchemaFactory schemaFactory)
-
getErrorHandler
public ValidatorErrorHandler getErrorHandler()
-
setErrorHandler
public void setErrorHandler(ValidatorErrorHandler errorHandler)
-
isUseSharedSchema
public boolean isUseSharedSchema()
-
setUseSharedSchema
public void setUseSharedSchema(boolean useSharedSchema)
-
getResourceResolver
public LSResourceResolver getResourceResolver()
-
setResourceResolver
public void setResourceResolver(LSResourceResolver resourceResolver)
-
isFailOnNullBody
public boolean isFailOnNullBody()
-
setFailOnNullBody
public void setFailOnNullBody(boolean failOnNullBody)
-
isFailOnNullHeader
public boolean isFailOnNullHeader()
-
setFailOnNullHeader
public void setFailOnNullHeader(boolean failOnNullHeader)
-
getHeaderName
public String getHeaderName()
-
setHeaderName
public void setHeaderName(String headerName)
-
createSchemaFactory
protected SchemaFactory createSchemaFactory()
-
createSchemaSource
protected Source createSchemaSource() throws IOException
- Throws:
IOException
-
createSchema
protected Schema createSchema() throws SAXException, IOException
- Throws:
SAXExceptionIOException
-
isInputStreamNeeded
protected boolean isInputStreamNeeded(org.apache.camel.Exchange exchange)
Checks whether we need anInputStreamto access the message body or header. Depending on the content in the message body or header, we may not need to convert toInputStream.- Parameters:
exchange- the current exchange- Returns:
- true to convert to
InputStreambeforehand converting toSourceafterwards.
-
-