Package org.apache.uima.cas.impl
Class XmiCasSerializer
java.lang.Object
org.apache.uima.cas.impl.XmiCasSerializer
CAS serializer for XMI format; writes a CAS in the XML Metadata Interchange (XMI) format.
To use,
- create an instance of this class,
- optionally) configure the instance, and then
- call serialize on the instance, optionally passing in additional parameters.
After the 1st 2 steps, the serializer instance may be used for multiple calls (on multiple
threads) to the 3rd serialize step, if all calls use the same configuration.
There are "convenience" static serialize methods that do these three steps for common
configurations.
Parameters can be configured in the XmiCasSerializer instance (I), and/or as part of the
serialize(S) call.
The parameters that can be configured are:
- (S) The CAS to serialize
- (S) where to put the output - an OutputStream
- (I,S) a type system - (default null) if supplied, it is used to "filter" types and features that are serialized. If provided, only those that exist in the passed in type system are included in the serialization
- (I,S) a flag for prettyprinting - default false (no prettyprinting)
- (I) (optional) If supplied, a map used to generate a "schemaLocation" attribute in the XMI output. This argument must be a map from namespace URIs to the schema location for that namespace URI.
- (S) (optional) if supplied XmiSerializationSharedData representing FeatureStructures that were set aside when deserializing, and are to be "merged" back in when serializing
- (S) a Marker (default: null) if supplied, where the separation between "new" and previously exisiting FeatureStructures are in the CAS; causes "delta" serialization, where only the new and changed FeatureStructures are serialized.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Namespace URI to use for UIMA types that have no namespace (the "default pacakge" in Java)static final String
static final char[]
static final String
static final String
static final String
static final XmlElementName
static final String
static final String
static final String
static final String
static final String
static final String
static final String
-
Constructor Summary
ConstructorDescriptionCreates a new XmiCasSerializer.XmiCasSerializer
(TypeSystem ts, Map<String, String> nsUriToSchemaLocationMap) Creates a new XmiCasSerializer.XmiCasSerializer
(TypeSystem ts, Map<String, String> nsUriToSchemaLocationMap, boolean isFormattedOutput) Creates a new XmiCasSerializerXmiCasSerializer
(TypeSystem ts, UimaContext uimaContext) Deprecated.XmiCasSerializer
(TypeSystem ts, UimaContext uimaContext, Map<String, String> nsUriToSchemaLocationMap) Deprecated.UseXmiCasSerializer(TypeSystem, Map)
instead. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
serialize
(CAS aCAS, OutputStream aStream) Serializes a CAS to an XMI stream.static void
serialize
(CAS aCAS, TypeSystem aTargetTypeSystem, OutputStream aStream) Serializes a CAS to an XMI stream.static void
serialize
(CAS aCAS, TypeSystem aTargetTypeSystem, OutputStream aStream, boolean aPrettyPrint, XmiSerializationSharedData aSharedData) Serializes a CAS to an XMI stream.static void
serialize
(CAS aCAS, TypeSystem aTargetTypeSystem, OutputStream aStream, boolean aPrettyPrint, XmiSerializationSharedData aSharedData, Marker aMarker) Serializes a Delta CAS to an XMI stream.static void
serialize
(CAS aCAS, TypeSystem aTargetTypeSystem, OutputStream aStream, boolean aPrettyPrint, XmiSerializationSharedData aSharedData, Marker aMarker, boolean useXml_1_1) Serializes a Delta CAS to an XMI stream.void
serialize
(CAS cas, ContentHandler contentHandler) Write the CAS data to a SAX content handler.void
serialize
(CAS cas, ContentHandler contentHandler, ErrorHandler errorHandler) Write the CAS data to a SAX content handler.void
serialize
(CAS cas, ContentHandler contentHandler, ErrorHandler errorHandler, XmiSerializationSharedData sharedData) Write the CAS data to a SAX content handler.void
serialize
(CAS cas, ContentHandler contentHandler, ErrorHandler errorHandler, XmiSerializationSharedData sharedData, Marker marker) Write the CAS data to a SAX content handler.set an error handler to receive information about errorspass in a type system to use for filtering what gets serialized; only those types and features which are defined this type system are included.setPrettyPrint
(boolean pp) set or reset the pretty print flag (default is false)
-
Field Details
-
XMLNS_NS_URI
- See Also:
-
XMI_NS_URI
- See Also:
-
XSI_NS_URI
- See Also:
-
XMI_NS_PREFIX
- See Also:
-
ID_ATTR_NAME
- See Also:
-
XMI_TAG_LOCAL_NAME
- See Also:
-
XMI_TAG_QNAME
- See Also:
-
XMI_TAG
-
XMI_VERSION_LOCAL_NAME
- See Also:
-
XMI_VERSION_QNAME
- See Also:
-
XMI_VERSION_VALUE
- See Also:
-
DEFAULT_NAMESPACE_URI
Namespace URI to use for UIMA types that have no namespace (the "default pacakge" in Java)- See Also:
-
SYSTEM_LINE_FEED
-
INT_TO_HEX
public static final char[] INT_TO_HEX
-
-
Constructor Details
-
XmiCasSerializer
Creates a new XmiCasSerializer.- Parameters:
ts
- An optional typeSystem (or null) to filter the types that will be serialized. If any CAS that is later passed to theserialize
method that contains types and features that are not in this typesystem, the serialization will not contain instances of those types or values for those features. So this can be used to filter the results of serialization. A null value indicates that all types and features will be serialized.
-
XmiCasSerializer
Creates a new XmiCasSerializer.- Parameters:
ts
- An optional typeSystem (or null) to filter the types that will be serialized. If any CAS that is later passed to theserialize
method that contains types and features that are not in this typesystem, the serialization will not contain instances of those types or values for those features. So this can be used to filter the results of serialization.nsUriToSchemaLocationMap
- Map if supplied, this map is used to generate a "schemaLocation" attribute in the XMI output. This argument must be a map from namespace URIs to the schema location for that namespace URI.
-
XmiCasSerializer
public XmiCasSerializer(TypeSystem ts, Map<String, String> nsUriToSchemaLocationMap, boolean isFormattedOutput) Creates a new XmiCasSerializer- Parameters:
ts
- An optional typeSystem (or null) to filter the types that will be serialized. If any CAS that is later passed to theserialize
method that contains types and features that are not in this typesystem, the serialization will not contain instances of those types or values for those features. So this can be used to filter the results of serialization.nsUriToSchemaLocationMap
- Map if supplied, this map is used to generate a "schemaLocation" attribute in the XMI output. This argument must be a map from namespace URIs to the schema location for that namespace URI.isFormattedOutput
- true makes serialization pretty print
-
XmiCasSerializer
@Deprecated public XmiCasSerializer(TypeSystem ts, UimaContext uimaContext, Map<String, String> nsUriToSchemaLocationMap) Deprecated.UseXmiCasSerializer(TypeSystem, Map)
instead. The UimaContext reference is never used by this implementation.Creates a new XmiCasSerializer.- Parameters:
ts
- An optional typeSystem (or null) to filter the types that will be serialized. If any CAS that is later passed to theserialize
method that contains types and features that are not in this typesystem, the serialization will not contain instances of those types or values for those features. So this can be used to filter the results of serialization.uimaContext
- not usednsUriToSchemaLocationMap
- Map if supplied, this map is used to generate a "schemaLocation" attribute in the XMI output. This argument must be a map from namespace URIs to the schema location for that namespace URI.
-
XmiCasSerializer
Deprecated.UseXmiCasSerializer(TypeSystem)
instead. The UimaContext reference is never used by this implementation.Creates a new XmiCasSerializer.- Parameters:
ts
- An optional typeSystem (or null) to filter the types that will be serialized. If any CAS that is later passed to theserialize
method that contains types and features that are not in this typesystem, the serialization will not contain instances of those types or values for those features. So this can be used to filter the results of serialization.uimaContext
- not used
-
-
Method Details
-
serialize
Serializes a CAS to an XMI stream.- Parameters:
aCAS
- CAS to serialize.aStream
- output stream to which to write the XMI document- Throws:
SAXException
- if a problem occurs during XMI serialization
-
serialize
public static void serialize(CAS aCAS, TypeSystem aTargetTypeSystem, OutputStream aStream) throws SAXException Serializes a CAS to an XMI stream. Allows a TypeSystem to be specified, to which the produced XMI will conform. Any types or features not in the target type system will not be serialized.- Parameters:
aCAS
- CAS to serialize.aTargetTypeSystem
- type system to which the produced XMI will conform. Any types or features not in the target type system will not be serialized. A null value indicates that all types and features will be serialized.aStream
- output stream to which to write the XMI document- Throws:
SAXException
- if a problem occurs during XMI serialization
-
serialize
Write the CAS data to a SAX content handler.- Parameters:
cas
- The CAS to be serialized.contentHandler
- The SAX content handler the data is written to.- Throws:
SAXException
- if there was a SAX exception
-
serialize
public void serialize(CAS cas, ContentHandler contentHandler, ErrorHandler errorHandler) throws SAXException Write the CAS data to a SAX content handler.- Parameters:
cas
- The CAS to be serialized.contentHandler
- The SAX content handler the data is written to.errorHandler
- the SAX Error Handler to use- Throws:
SAXException
- if there was a SAX exception
-
setPrettyPrint
set or reset the pretty print flag (default is false)- Parameters:
pp
- true to do pretty printing of output- Returns:
- the original instance, possibly updated
-
setFilterTypes
pass in a type system to use for filtering what gets serialized; only those types and features which are defined this type system are included.- Parameters:
ts
- the filter- Returns:
- the original instance, possibly updated
-
setErrorHandler
set an error handler to receive information about errors- Parameters:
eh
- the error handler- Returns:
- the original instance, possibly updated
-
XmiCasSerializer(TypeSystem)
instead.