Class SchematronValidator

  • All Implemented Interfaces:
    org.ikasan.spec.component.endpoint.Broker<org.w3c.dom.Document,​ValidationResult<org.w3c.dom.Document,​org.w3c.dom.Document>>, org.ikasan.spec.configuration.Configured<SchematronValidatorConfiguration>, org.ikasan.spec.configuration.ConfiguredResource<SchematronValidatorConfiguration>, org.ikasan.spec.management.ManagedResource

    public class SchematronValidator
    extends java.lang.Object
    implements org.ikasan.spec.component.endpoint.Broker<org.w3c.dom.Document,​ValidationResult<org.w3c.dom.Document,​org.w3c.dom.Document>>, org.ikasan.spec.management.ManagedResource, org.ikasan.spec.configuration.ConfiguredResource<SchematronValidatorConfiguration>
    Validator implementation using pre-compiled XSLT Schematron rules. There are two ways to use this validator: 1. Set throwExceptionOnValidationFailure to true in the configuration, and handle the Exception thrown on failure, or extract the original document downstream from the ValidationResult 2. Use a router component after this to route successful (ValidationResult.Result.VALID) down one route and failed validations (ValidationResult.Result.INVALID) down another In all cases (but not the thrown exception case obviously) the original document is stored in the returned ValidationResult via the getSource() method This class implements ManagedResource in order to cache any XSLT documents. Stopping and starting this component will re-initialise this cache
    • Constructor Detail

      • SchematronValidator

        public SchematronValidator()
    • Method Detail

      • invoke

        public ValidationResult<org.w3c.dom.Document,​org.w3c.dom.Document> invoke​(org.w3c.dom.Document document)
                                                                                 throws org.ikasan.spec.component.endpoint.EndpointException
        Specified by:
        invoke in interface org.ikasan.spec.component.endpoint.Broker<org.w3c.dom.Document,​ValidationResult<org.w3c.dom.Document,​org.w3c.dom.Document>>
        Throws:
        org.ikasan.spec.component.endpoint.EndpointException
      • startManagedResource

        public void startManagedResource()
        Specified by:
        startManagedResource in interface org.ikasan.spec.management.ManagedResource
      • stopManagedResource

        public void stopManagedResource()
        Specified by:
        stopManagedResource in interface org.ikasan.spec.management.ManagedResource
      • setManagedResourceRecoveryManager

        public void setManagedResourceRecoveryManager​(org.ikasan.spec.management.ManagedResourceRecoveryManager managedResourceRecoveryManager)
        Specified by:
        setManagedResourceRecoveryManager in interface org.ikasan.spec.management.ManagedResource
      • isCriticalOnStartup

        public boolean isCriticalOnStartup()
        Specified by:
        isCriticalOnStartup in interface org.ikasan.spec.management.ManagedResource
      • setCriticalOnStartup

        public void setCriticalOnStartup​(boolean criticalOnStartup)
        Specified by:
        setCriticalOnStartup in interface org.ikasan.spec.management.ManagedResource
      • getConfiguredResourceId

        public java.lang.String getConfiguredResourceId()
        Specified by:
        getConfiguredResourceId in interface org.ikasan.spec.configuration.ConfiguredResource<SchematronValidatorConfiguration>
      • setConfiguredResourceId

        public void setConfiguredResourceId​(java.lang.String id)
        Specified by:
        setConfiguredResourceId in interface org.ikasan.spec.configuration.ConfiguredResource<SchematronValidatorConfiguration>
      • getUriResolver

        public javax.xml.transform.URIResolver getUriResolver()
      • setUriResolver

        public void setUriResolver​(javax.xml.transform.URIResolver uriResolver)