# 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.