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.AsyncProcessorSupport
A 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 Schema
createSchema()
protected SchemaFactory
createSchemaFactory()
protected Source
createSchemaSource()
protected void
doProcess(org.apache.camel.Exchange exchange)
ValidatorErrorHandler
getErrorHandler()
String
getHeaderName()
LSResourceResolver
getResourceResolver()
Schema
getSchema()
byte[]
getSchemaAsByteArray()
SchemaFactory
getSchemaFactory()
File
getSchemaFile()
String
getSchemaLanguage()
Source
getSchemaSource()
URL
getSchemaUrl()
protected Source
getSource(org.apache.camel.Exchange exchange, Object content)
boolean
isFailOnNullBody()
boolean
isFailOnNullHeader()
protected boolean
isInputStreamNeeded(org.apache.camel.Exchange exchange)
Checks whether we need anInputStream
to access the message body or header.boolean
isUseSharedSchema()
void
loadSchema()
boolean
process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)
void
setErrorHandler(ValidatorErrorHandler errorHandler)
void
setFailOnNullBody(boolean failOnNullBody)
void
setFailOnNullHeader(boolean failOnNullHeader)
void
setHeaderName(String headerName)
void
setResourceResolver(LSResourceResolver resourceResolver)
void
setSchema(Schema schema)
void
setSchemaAsByteArray(byte[] schemaAsByteArray)
void
setSchemaFactory(SchemaFactory schemaFactory)
void
setSchemaFile(File schemaFile)
void
setSchemaLanguage(String schemaLanguage)
void
setSchemaSource(Source schemaSource)
void
setSchemaUrl(URL schemaUrl)
void
setUseSharedSchema(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:
IOException
SAXException
-
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:
SAXException
IOException
-
isInputStreamNeeded
protected boolean isInputStreamNeeded(org.apache.camel.Exchange exchange)
Checks whether we need anInputStream
to 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
InputStream
beforehand converting toSource
afterwards.
-
-