Class ObjectDeserializationHandler
- java.lang.Object
-
- com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
-
- com.inductiveautomation.ignition.common.xmlserialization.deserialization.handlers.ObjectDeserializationHandler
-
- All Implemented Interfaces:
DeserializationHandler
- Direct Known Subclasses:
ComponentDeserializationHandler
,ShapeDeserializationHandler
public class ObjectDeserializationHandler extends AbstractDeserializationHandler
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.lang.Object>
args
protected java.lang.Class
clazz
protected java.lang.String
methodName
protected java.lang.Class[]
methodSig
-
Fields inherited from class com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
object, refId
-
-
Constructor Summary
Constructors Constructor Description ObjectDeserializationHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeserializationHandler
clone()
Clones this handler.void
endElement(DeserializationContext context)
Notifies the handler that their element has ended.void
endObject(java.lang.Object obj)
Notifies the handler that an object tag was found and deserialized within their scopevoid
endSubElement(java.lang.String name, DeserializationContext context)
Notifies the handler that a sub-element has endedDecoder<?>
getBodyDecoder()
Called when body data is encountered in this tag or a sub-tag.java.lang.String
getElementName()
Returns the name of the element type that this handler ...void
onBody(java.lang.Object body)
Called when body data is encountered in this tag or a sub-tag.void
startElement(java.lang.String name, AttributesMap attr, DeserializationContext context)
Notifies the handler that their element has started.void
startSubElement(java.lang.String name, AttributesMap attributes, DeserializationContext context)
Notifies the handler that a sub-element has started.boolean
supportsNestedElements()
Return true if the element type that you're parsing can have nested elements, or false if you're a singleton element.-
Methods inherited from class com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
getObject, getRefId, setObject, setRefId
-
-
-
-
Method Detail
-
startElement
public void startElement(java.lang.String name, AttributesMap attr, DeserializationContext context) throws java.lang.Exception
Description copied from interface:DeserializationHandler
Notifies the handler that their element has started.- Throws:
java.lang.Exception
-
onBody
public void onBody(java.lang.Object body)
Description copied from interface:DeserializationHandler
Called when body data is encountered in this tag or a sub-tag. This data is first interpreted by the handler-provided decoder (seeDeserializationHandler.getBodyDecoder()
), and then this function will be called.
-
getBodyDecoder
public Decoder<?> getBodyDecoder()
Description copied from interface:DeserializationHandler
Called when body data is encountered in this tag or a sub-tag. Used to decode the body into an object, which is then passed toDeserializationHandler.onBody(Object)
-
endElement
public void endElement(DeserializationContext context) throws java.lang.Exception
Description copied from interface:DeserializationHandler
Notifies the handler that their element has ended.- Throws:
java.lang.Exception
-
endObject
public void endObject(java.lang.Object obj)
Description copied from interface:DeserializationHandler
Notifies the handler that an object tag was found and deserialized within their scope- Specified by:
endObject
in interfaceDeserializationHandler
- Overrides:
endObject
in classAbstractDeserializationHandler
-
endSubElement
public void endSubElement(java.lang.String name, DeserializationContext context) throws java.lang.Exception
Description copied from interface:DeserializationHandler
Notifies the handler that a sub-element has ended- Specified by:
endSubElement
in interfaceDeserializationHandler
- Overrides:
endSubElement
in classAbstractDeserializationHandler
- Throws:
java.lang.Exception
-
startSubElement
public void startSubElement(java.lang.String name, AttributesMap attributes, DeserializationContext context) throws java.lang.Exception
Description copied from interface:DeserializationHandler
Notifies the handler that a sub-element has started.- Specified by:
startSubElement
in interfaceDeserializationHandler
- Overrides:
startSubElement
in classAbstractDeserializationHandler
- Throws:
java.lang.Exception
-
getElementName
public java.lang.String getElementName()
Description copied from interface:DeserializationHandler
Returns the name of the element type that this handler ... handles.
-
clone
public DeserializationHandler clone()
Description copied from interface:DeserializationHandler
Clones this handler. Only handlers that support nested elements will be cloned, all others can throw an unsupported operation exception instead.- Specified by:
clone
in interfaceDeserializationHandler
- Specified by:
clone
in classAbstractDeserializationHandler
-
supportsNestedElements
public boolean supportsNestedElements()
Description copied from interface:DeserializationHandler
Return true if the element type that you're parsing can have nested elements, or false if you're a singleton element. If you return true, you need to implement clone().
Note As of Ignition 7.6.5 with support for multi-deserialization, you should also return true from this and implement clone() if your return object is mutable, otherwise instances may be shared amongst multi-deserialized objects.
-
-