org.relaxng.datatype.helpers

Class StreamingValidatorImpl

Implemented Interfaces:
DatatypeStreamingValidator

public final class StreamingValidatorImpl
extends 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);
     }
     ....
 }
 

Constructor Summary

StreamingValidatorImpl(Datatype baseType, ValidationContext context)

Method Summary

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

Constructor Details

StreamingValidatorImpl

public StreamingValidatorImpl(Datatype baseType,
                              ValidationContext context)

Method Details

addCharacters

public void addCharacters(char[] buf,
                          int start,
                          int len)
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

checkValid

public void checkValid()
            throws DatatypeException
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.

isValid

public boolean isValid()
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.