org.apache.camel.processor.validation
Class ValidatingProcessor

java.lang.Object
  extended by org.apache.camel.processor.validation.ValidatingProcessor
All Implemented Interfaces:
Processor

public class ValidatingProcessor
extends Object
implements Processor

A processor which validates the XML version of the inbound message body against some schema either in XSD or RelaxNG

Version:

Constructor Summary
ValidatingProcessor()
           
 
Method Summary
protected  Schema createSchema()
           
protected  SchemaFactory createSchemaFactory()
           
protected  Source createSchemaSource()
           
 ValidatorErrorHandler getErrorHandler()
           
 LSResourceResolver getResourceResolver()
           
 Schema getSchema()
           
 byte[] getSchemaAsByteArray()
           
 SchemaFactory getSchemaFactory()
           
 File getSchemaFile()
           
 String getSchemaLanguage()
           
 Source getSchemaSource()
           
 URL getSchemaUrl()
           
protected  Source getSource(Exchange exchange, Object body)
          Converts the inbound body to a Source, if the body is not already a Source.
 boolean isFailOnNullBody()
           
protected  boolean isInputStreamNeeded(Exchange exchange)
          Checks whether we need an InputStream to access the message body.
 boolean isUseDom()
          Deprecated. 
 boolean isUseSharedSchema()
           
 void loadSchema()
           
 void process(Exchange exchange)
          Processes the message exchange
 void setErrorHandler(ValidatorErrorHandler errorHandler)
           
 void setFailOnNullBody(boolean failOnNullBody)
           
 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 setUseDom(boolean useDom)
          Deprecated. 
 void setUseSharedSchema(boolean useSharedSchema)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValidatingProcessor

public ValidatingProcessor()
Method Detail

process

public void process(Exchange exchange)
             throws Exception
Description copied from interface: Processor
Processes the message exchange

Specified by:
process in interface Processor
Parameters:
exchange - the message exchange
Throws:
Exception - if an internal processing error has occurred.

loadSchema

public void loadSchema()
                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)

isUseDom

@Deprecated
public boolean isUseDom()
Deprecated. 


setUseDom

@Deprecated
public void setUseDom(boolean useDom)
Deprecated. 

Sets whether DOMSource and DOMResult should be used.

Parameters:
useDom - true to use DOM otherwise

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)

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(Exchange exchange)
Checks whether we need an InputStream to access the message body.

Depending on the content in the message body, we may not need to convert to InputStream.

Parameters:
exchange - the current exchange
Returns:
true to convert to InputStream beforehand converting to Source afterwards.

getSource

protected Source getSource(Exchange exchange,
                           Object body)
Converts the inbound body to a Source, if the body is not already a Source.

This implementation will prefer to source in the following order:



Apache CAMEL