org.jvnet.fastinfoset.sax
Interface PrimitiveTypeContentHandler

All Known Subinterfaces:
FastInfosetWriter
All Known Implementing Classes:
FastInfosetDefaultHandler, SAXDocumentSerializer, SAXDocumentSerializerWithPrefixMapping

public interface PrimitiveTypeContentHandler

SAX2 extention handler to receive notification of character data as primtive types.

This is an optional extension handler for SAX2. XML readers are not required to recognize this handler, and it is not part of core-only SAX2 distributions.

This interface may be used with with a Fast Infoset SAX parser to receive notification of data encoded using the following built-in encoding algorithms specified in ITU-T Rec. X.891 | ISO/IEC 24824-1 (Fast Infoset), clause 10: "boolean", "base64", "short", "int", "long", "float", "double" and "uuid" encoding algorithms.

To set the PrimitiveTypeContentHandler for an XML reader, use the setProperty method with the property name URI TO BE DEFINED and an object implementing this interface (or null) as the value. If the reader does not report primitive data types, it will throw a SAXNotRecognizedException

To set the PrimitiveTypeContentHandler for an Fast Infoset reader, use setPrimitiveTypeContentHandler method.

The Parser will call methods of this interface to report each chunk of character data that has been converted to an array of primitive types, for example an array of integer or an array of float. Parsers may return all contiguous primtive types in a single chunk, or they may split it into several chunks

The application must not attempt to read from the array outside of the specified range.

See Also:
EncodingAlgorithmContentHandler, FastInfosetReader, XMLReader

Method Summary
 void booleans(boolean[] b, int start, int length)
          Receive notification of character data as an array of boolean.
 void bytes(byte[] b, int start, int length)
          Receive notification of character data as an array of byte.
 void doubles(double[] d, int start, int length)
          Receive notification of character data as an array of double.
 void floats(float[] f, int start, int length)
          Receive notification of character data as an array of float.
 void ints(int[] i, int start, int length)
          Receive notification of character data as an array of int.
 void longs(long[] l, int start, int length)
          Receive notification of character data as an array of long.
 void shorts(short[] s, int start, int length)
          Receive notification of character data as an array of short.
 void uuids(long[] msblsb, int start, int length)
          Receive notification of character data as an two array of UUID.
 

Method Detail

booleans

void booleans(boolean[] b,
              int start,
              int length)
              throws org.xml.sax.SAXException
Receive notification of character data as an array of boolean.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "boolean" encoding algorithm, see subclause 10.7

.

Parameters:
b - the array of boolean
start - the start position in the array
length - the number of boolean to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

bytes

void bytes(byte[] b,
           int start,
           int length)
           throws org.xml.sax.SAXException
Receive notification of character data as an array of byte.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "base64" encoding algorithm, see subclause 10.3, or the "hexadecimal" encoding algorithm, see subclause 10.2.

Such a notification may occur for binary data that would normally require base 64 encoding and reported as character data using the characters method

.

Parameters:
b - the array of byte
start - the start position in the array
length - the number of byte to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

shorts

void shorts(short[] s,
            int start,
            int length)
            throws org.xml.sax.SAXException
Receive notification of character data as an array of short.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "short" encoding algorithm, see subclause 10.4

.

Parameters:
s - the array of short
start - the start position in the array
length - the number of short to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

ints

void ints(int[] i,
          int start,
          int length)
          throws org.xml.sax.SAXException
Receive notification of character data as an array of int.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "int" encoding algorithm, see subclause 10.5

.

Parameters:
i - the array of int
start - the start position in the array
length - the number of int to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

longs

void longs(long[] l,
           int start,
           int length)
           throws org.xml.sax.SAXException
Receive notification of character data as an array of long.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "long" encoding algorithm, see subclause 10.6

.

Parameters:
l - the array of long
start - the start position in the array
length - the number of long to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

floats

void floats(float[] f,
            int start,
            int length)
            throws org.xml.sax.SAXException
Receive notification of character data as an array of float.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "float" encoding algorithm, see subclause 10.8

.

Parameters:
f - the array of float
start - the start position in the array
length - the number of float to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

doubles

void doubles(double[] d,
             int start,
             int length)
             throws org.xml.sax.SAXException
Receive notification of character data as an array of double.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "double" encoding algorithm, see subclause 10.9

.

Parameters:
d - the array of double
start - the start position in the array
length - the number of double to read from the array
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception

uuids

void uuids(long[] msblsb,
           int start,
           int length)
           throws org.xml.sax.SAXException
Receive notification of character data as an two array of UUID.

The application must not attempt to read from the array outside of the specified range.

Such notifications will occur for a Fast Infoset SAX parser when processing data encoded using the "uuid" encoding algorithm, see subclause 10.10

.

Parameters:
msblsb - the array of long containing pairs of most signficant bits and least significant bits of the UUIDs
start - the start position in the array
length - the number of long to read from the array. This will be twice the number of UUIDs, which are pairs of two long values
Throws:
org.xml.sax.SAXException - any SAX exception, possibly wrapping another exception