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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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