Class 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 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
      • setSchema

        public void setSchema​(Schema schema)
      • getSchemaLanguage

        public String getSchemaLanguage()
      • setSchemaLanguage

        public void setSchemaLanguage​(String schemaLanguage)
      • 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)
      • setSchemaFactory

        public void setSchemaFactory​(SchemaFactory schemaFactory)
      • isUseSharedSchema

        public boolean isUseSharedSchema()
      • setUseSharedSchema

        public void setUseSharedSchema​(boolean useSharedSchema)
      • 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()
      • isInputStreamNeeded

        protected boolean isInputStreamNeeded​(org.apache.camel.Exchange exchange)
        Checks whether we need an InputStream to access the message body or header.

        Depending on the content in the message body or header, 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​(org.apache.camel.Exchange exchange,
                                   Object content)
        Converts the inbound body or header to a Source, if it is not already a Source.

        This implementation will prefer to source in the following order:

        • DOM - DOM if explicit configured to use DOM
        • SAX - SAX as 2nd choice
        • Stream - Stream as 3rd choice
        • DOM - DOM as 4th choice