DatatypeStreamingValidator (RELAX NG Datatype API)
Description: declaration: package: org.relaxng.datatype, interface: DatatypeStreamingValidator

# Interface DatatypeStreamingValidator

All Known Implementing Classes:
  `StreamingValidatorImpl`

public interface DatatypeStreamingValidator
Datatype streaming validator.

The streaming validator is an optional feature that is useful for certain Datatypes. It allows the caller to incrementally provide the literal.

Author:
  James Clark, Kohsuke KAWAGUCHI

- ## Method Summary

  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.

- ## Method Details

  - ### addCharacters

    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.

  - ### isValid

    boolean isValid()
    Tells if the accumulated literal is valid with respect to the underlying Datatype.
    Returns:
      True if it is valid. False if otherwise.

  - ### checkValid

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