Package org.apache.uima.cas.impl

# Class XCASDeserializer

java.lang.Object
org.apache.uima.cas.impl.XCASDeserializer

public class XCASDeserializer extends Object
XCAS Deserializer. Takes an XCAS and reads it into a CAS.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `XCASDeserializer(TypeSystem ts)`
  `XCASDeserializer(TypeSystem ts, UimaContext uimaContext)`
  Create a new deserializer from a type system.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `deserialize(InputStream aStream, CAS aCAS)`
  Deserializes an XCAS from a stream.
  `static void`
  `deserialize(InputStream aStream, CAS aCAS, boolean aLenient)`
  Deserializes an XCAS from a stream.
  `static void`
  `deserialize(Reader aReader, CAS aCAS, boolean aLenient)`
  Deserializes an XCAS from a stream.
  `static void`
  `deserialize(InputSource aSource, CAS aCAS, boolean aLenient)`
  `String`
  `getDocumentTypeName()`
  Gets the name of the type representing the document.
  `DefaultHandler`
  `getXCASHandler(CAS cas)`
  Create a default handler for deserializing an XCAS into the `cas` parameter.
  `DefaultHandler`
  `getXCASHandler(CAS cas, OutOfTypeSystemData outOfTypeSystemData)`
  Create a default handler for deserializing an XCAS into the `cas` parameter.
  `void`
  `setDocumentTypeName(String aDocTypeName)`
  Gets the name of the type representing the document.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### XCASDeserializer

    public XCASDeserializer(TypeSystem ts, UimaContext uimaContext)
    Create a new deserializer from a type system. Note: all CAS arguments later supplied to `getXCASHandler()` must have this type system as their type system.
    Parameters:
      `ts` - The type system of the CASes to be deserialized.
      `uimaContext` - the UIMA Context for the deserialization

  - ### XCASDeserializer

    public XCASDeserializer(TypeSystem ts)

- ## Method Details

  - ### getXCASHandler

    public DefaultHandler getXCASHandler(CAS cas)
    Create a default handler for deserializing an XCAS into the `cas` parameter.

    Warning: for efficiency reasons, the deserializer does not do much type checking for features and their values. It is expected that the incoming XCAS conforms to the type system provided. If it doesn't, the results are undefined.

    Parameters:
      `cas` - This CAS will be used to hold the data of the serialized XCAS.
    Returns:
      The `DefaultHandler` to pass to the SAX parser.

  - ### getXCASHandler

    public DefaultHandler getXCASHandler(CAS cas, OutOfTypeSystemData outOfTypeSystemData)
    Create a default handler for deserializing an XCAS into the `cas` parameter. This version causes the deserializer to store out-of-typesystem data for later use. (APL)

    Warning: for efficiency reasons, the deserializer does not do much type checking for features and their values. It is expected that the incoming XCAS conforms to the type system provided. If it doesn't, the results are undefined.

    Parameters:
      `cas` - This CAS will be used to hold the data of the serialized XCAS.
      `outOfTypeSystemData` - An object that stores FSs that do not conform to the CAS's type system
    Returns:
      The `DefaultHandler` to pass to the SAX parser.

  - ### getDocumentTypeName

    public String getDocumentTypeName()
    Gets the name of the type representing the document. This will become the name of the XML element that will hold the document text.
    Returns:
      the document type name

  - ### setDocumentTypeName

    public void setDocumentTypeName(String aDocTypeName)
    Gets the name of the type representing the document. This will become the name of the XML element that will hold the document text. If not set, defaults to `XCASSerializer.DEFAULT_DOC_TYPE_NAME`.
    Parameters:
      `aDocTypeName` - the document type name

  - ### deserialize

    public static void deserialize(InputStream aStream, CAS aCAS) throws SAXException, IOException
    Deserializes an XCAS from a stream. By default this is not lenient, meaning that if the XCAS references Types that are not in the Type System, an Exception will be thrown. Use `deserialize(InputStream,CAS,boolean)` to turn on lenient mode and ignore any unknown types.
    Parameters:
      `aStream` - input stream from which to read the XCAS XML document
      `aCAS` - CAS into which to deserialize. This CAS must be set up with a type system that is compatible with that in the XCAS
    Throws:
      `SAXException` - if an XML Parsing error occurs
      `IOException` - if an I/O failure occurs

  - ### deserialize

    public static void deserialize(Reader aReader, CAS aCAS, boolean aLenient) throws SAXException, IOException
    Deserializes an XCAS from a stream.
    Parameters:
      `aReader` - Reader from which to read the XCAS XML document
      `aCAS` - CAS into which to deserialize. This CAS must be set up with a type system that is compatible with that in the XCAS.
      `aLenient` - if true, unknown Types will be ignored. If false, unknown Types will cause an exception. The default is false.
    Throws:
      `SAXException` - if an XML Parsing error occurs
      `IOException` - if an I/O failure occurs

  - ### deserialize

    public static void deserialize(InputStream aStream, CAS aCAS, boolean aLenient) throws SAXException, IOException
    Deserializes an XCAS from a stream.
    Parameters:
      `aStream` - input stream from which to read the XCAS XML document
      `aCAS` - CAS into which to deserialize. This CAS must be set up with a type system that is compatible with that in the XCAS.
      `aLenient` - if true, unknown Types will be ignored. If false, unknown Types will cause an exception. The default is false.
    Throws:
      `SAXException` - if an XML Parsing error occurs
      `IOException` - if an I/O failure occurs

  - ### deserialize

    public static void deserialize(InputSource aSource, CAS aCAS, boolean aLenient) throws SAXException, IOException
    Throws:
      `SAXException`
      `IOException`