Class XMLDeserializer
- java.lang.Object
-
- com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer
-
public class XMLDeserializer extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassNameResolver
classNameMap
protected java.util.Map<java.lang.String,DeserializationHandler>
instanceHandlers
protected LoggerEx
log
-
Constructor Summary
Constructors Constructor Description XMLDeserializer()
XMLDeserializer(ClassNameResolver resolver)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addHandler(DeserializationHandler handler)
DeserializationContext
deserialize(byte[] bytes)
Deserialize the bytes.static java.lang.Object
deserialize(XMLDeserializer deser, byte[] data, org.apache.log4j.Logger log)
Deprecated.static java.lang.Object
deserialize(XMLDeserializer deser, byte[] data, org.slf4j.Logger log)
DeserializationContext
deserialize(java.io.InputStream is)
Deserialize an object graph from an input stream.DeserializationContext
deserialize(java.io.Reader streamReader)
Deserialize an object graph from a reader.DeserializationContext
deserialize(java.lang.String xml)
Deserialize an object graph from a reader.DeserializationContext
deserializeBinary(byte[] bytes)
Deserialize data from a byte[], expected to be in binary format.DeserializationContext
deserializeBinary(java.io.InputStream stream, boolean topAttributesOnly)
java.util.List<DeserializationContext>
deserializeMultiple(byte[] bytes, int count)
Special version of deserialization which will deserialize multiple copies of the serialized objects.DeserializationContext
deserializeXML(java.io.Reader streamReader, boolean topAttributesOnly)
ClassNameResolver
getClassNameMap()
XMLDeserializer
initDefaults()
Initializes default handlers in chaining invocation style.protected DeserializationHandler
lookupHandler(java.lang.String name)
Finds the deserialization handler registered for the given element name.java.util.Map<java.lang.String,java.lang.String>
readRootAttributes(byte[] bytes)
Reads the top element's attributes only.java.util.Map<java.lang.String,java.lang.String>
readRootAttributes(java.io.InputStream is)
Reads the top element's attributes only.java.util.Map<java.lang.String,java.lang.String>
readRootAttributes(java.io.Reader streamReader)
java.util.Map<java.lang.String,java.lang.String>
readRootAttributes(java.lang.String xml)
java.lang.String
transcodeToXML(java.io.InputStream binary, XMLSerializer serializer)
This function will take serialized data and return it in uncompressed XML format.
-
-
-
Field Detail
-
instanceHandlers
protected java.util.Map<java.lang.String,DeserializationHandler> instanceHandlers
-
classNameMap
protected ClassNameResolver classNameMap
-
log
protected LoggerEx log
-
-
Constructor Detail
-
XMLDeserializer
public XMLDeserializer()
-
XMLDeserializer
public XMLDeserializer(ClassNameResolver resolver)
-
-
Method Detail
-
deserialize
@Deprecated public static java.lang.Object deserialize(XMLDeserializer deser, byte[] data, org.apache.log4j.Logger log) throws SerializationException
Deprecated.- Throws:
SerializationException
-
deserialize
public static java.lang.Object deserialize(XMLDeserializer deser, byte[] data, org.slf4j.Logger log) throws SerializationException
- Throws:
SerializationException
-
initDefaults
public XMLDeserializer initDefaults()
Initializes default handlers in chaining invocation style. Do not call unlessy you instantiated an XMLDeserializer yourself (generally not the thing to do: get one from your context)
-
addHandler
public void addHandler(DeserializationHandler handler)
-
deserialize
public DeserializationContext deserialize(byte[] bytes) throws SerializationException
Deserialize the bytes. Automatically detects GZip compression and binary vs. XML encoding.- Returns:
- DeserializationContext that will contain the root of the serialized object graph, as well as any serialization warnings that occurred.
- Throws:
SerializationException
-
deserialize
public DeserializationContext deserialize(java.io.InputStream is) throws SerializationException
Deserialize an object graph from an input stream. Gzip compression and XML vs binary encoding are automatically detected.- Throws:
SerializationException
-
deserialize
public DeserializationContext deserialize(java.lang.String xml) throws SerializationException
Deserialize an object graph from a reader. Encoding is assumed to be XML- Throws:
SerializationException
-
deserialize
public DeserializationContext deserialize(java.io.Reader streamReader) throws SerializationException
Deserialize an object graph from a reader. Encoding is assumed to be XML- Throws:
SerializationException
-
readRootAttributes
public java.util.Map<java.lang.String,java.lang.String> readRootAttributes(java.lang.String xml) throws SerializationException
- Throws:
SerializationException
-
readRootAttributes
public java.util.Map<java.lang.String,java.lang.String> readRootAttributes(java.io.Reader streamReader) throws SerializationException
- Throws:
SerializationException
-
readRootAttributes
public java.util.Map<java.lang.String,java.lang.String> readRootAttributes(byte[] bytes) throws SerializationException
Reads the top element's attributes only. Automatically detects GZip compression and xml vs binary format- Throws:
SerializationException
-
readRootAttributes
public java.util.Map<java.lang.String,java.lang.String> readRootAttributes(java.io.InputStream is) throws SerializationException
Reads the top element's attributes only. Automatically detects GZip compression and xml vs binary format.- Throws:
SerializationException
-
deserializeBinary
public DeserializationContext deserializeBinary(byte[] bytes) throws SerializationException
Deserialize data from a byte[], expected to be in binary format. Detects GZip automaticaly.- Throws:
SerializationException
-
deserializeBinary
public DeserializationContext deserializeBinary(java.io.InputStream stream, boolean topAttributesOnly) throws SerializationException
- Throws:
SerializationException
-
deserializeXML
public DeserializationContext deserializeXML(java.io.Reader streamReader, boolean topAttributesOnly) throws SerializationException
- Throws:
SerializationException
-
transcodeToXML
public java.lang.String transcodeToXML(java.io.InputStream binary, XMLSerializer serializer) throws SerializationException
This function will take serialized data and return it in uncompressed XML format. If the data is already in XML format, it will simple be returned as a string If it is in binary format, it will be transcoded first. The stream will be automatically uncompressed if necessary.- Throws:
SerializationException
-
lookupHandler
protected DeserializationHandler lookupHandler(java.lang.String name)
Finds the deserialization handler registered for the given element name.
-
deserializeMultiple
public java.util.List<DeserializationContext> deserializeMultiple(byte[] bytes, int count) throws SerializationException
Special version of deserialization which will deserialize multiple copies of the serialized objects. More efficient than calling deserialize X times, as long as X is greater than one.- Throws:
SerializationException
-
getClassNameMap
public ClassNameResolver getClassNameMap()
-
-