Class StreamingValidatorImpl

  • All Implemented Interfaces:
    DatatypeStreamingValidator

    public final class StreamingValidatorImpl
    extends java.lang.Object
    implements DatatypeStreamingValidator
    Dummy implementation of DatatypeStreamingValidator.

    This implementation can be used as a quick hack when the performance of streaming validation is not important. And this implementation also shows you how to implement the DatatypeStreamingValidator interface.

    Typical usage would be:

    
     class MyDatatype implements Datatype {
         ....
         public DatatypeStreamingValidator createStreamingValidator( ValidationContext context ) {
             return new StreamingValidatorImpl(this,context);
         }
         ....
     }
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Datatype baseType
      Datatype obejct that creates this streaming validator.
      private java.lang.StringBuffer buffer
      This buffer accumulates characters.
      private ValidationContext context
      The current context.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCharacters​(char[] buf, int start, int len)
      Passes an additional fragment of the literal.
      void checkValid()
      Similar to the isValid method, but this method throws Exception (with possibly diagnostic information), instead of returning false.
      boolean isValid()
      Tells if the accumulated literal is valid with respect to the underlying Datatype.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • buffer

        private final java.lang.StringBuffer buffer
        This buffer accumulates characters.
      • baseType

        private final Datatype baseType
        Datatype obejct that creates this streaming validator.
    • Method Detail

      • addCharacters

        public void addCharacters​(char[] buf,
                                  int start,
                                  int len)
        Description copied from interface: DatatypeStreamingValidator
        Passes an additional fragment of the literal.

        The application can call this method several times, then call the isValid method (or the checkValid method) to check the validity of the accumulated characters.

        Specified by:
        addCharacters in interface DatatypeStreamingValidator
      • isValid

        public boolean isValid()
        Description copied from interface: DatatypeStreamingValidator
        Tells if the accumulated literal is valid with respect to the underlying Datatype.
        Specified by:
        isValid in interface DatatypeStreamingValidator
        Returns:
        True if it is valid. False if otherwise.
      • checkValid

        public void checkValid()
                        throws DatatypeException
        Description copied from interface: DatatypeStreamingValidator
        Similar to the isValid method, but this method throws Exception (with possibly diagnostic information), instead of returning false.
        Specified by:
        checkValid in interface DatatypeStreamingValidator
        Throws:
        DatatypeException - If the callee supports the diagnosis and the accumulated literal is invalid, then this exception that possibly contains diagnosis information is thrown.