Class AbstractReentrantDeserializationHandler
- java.lang.Object
-
- com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
-
- com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractReentrantDeserializationHandler
-
- All Implemented Interfaces:
DeserializationHandler
- Direct Known Subclasses:
AbstractBodyDecoderHandler,AssociatedDataHandler,BooleanHandler,EnumHandler,IgPathHandler,QualifiedPathHandler,TagPathHandler
public abstract class AbstractReentrantDeserializationHandler extends AbstractDeserializationHandler
This is a specialization of AbstractDeserializationHandler built for handlers that return false fromDeserializationHandler.supportsNestedElements()and are designed to be re-entrant (do not store any state).It stores the object and the reference ID as thread locals to support multi-threaded access.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.ThreadLocal<java.lang.Object>objectTLprotected java.lang.ThreadLocal<java.lang.Integer>refTL-
Fields inherited from class com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
object, refId
-
-
Constructor Summary
Constructors Constructor Description AbstractReentrantDeserializationHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetObject()Returns the most recent object that this handler created.intgetRefId()Returns the reference id that was in the start of this element, or -1 if there was noneprotected voidsetObject(java.lang.Object value)voidsetRefId(int id)Sets the ref-id that was found at the start of this element, if any.-
Methods inherited from class com.inductiveautomation.ignition.common.xmlserialization.deserialization.AbstractDeserializationHandler
clone, endObject, endSubElement, startSubElement
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.common.xmlserialization.deserialization.DeserializationHandler
endElement, getBodyDecoder, getElementName, onBody, startElement, supportsNestedElements
-
-
-
-
Method Detail
-
getObject
public java.lang.Object getObject()
Description copied from interface:DeserializationHandlerReturns the most recent object that this handler created. Note that a handler needs to have this function return its object as early as possible, not just after endElement() has been called. This is used for populating the reference map.- Specified by:
getObjectin interfaceDeserializationHandler- Overrides:
getObjectin classAbstractDeserializationHandler
-
setObject
protected void setObject(java.lang.Object value)
- Overrides:
setObjectin classAbstractDeserializationHandler
-
getRefId
public int getRefId()
Description copied from interface:DeserializationHandlerReturns the reference id that was in the start of this element, or -1 if there was none- Specified by:
getRefIdin interfaceDeserializationHandler- Overrides:
getRefIdin classAbstractDeserializationHandler
-
setRefId
public void setRefId(int id)
Description copied from interface:DeserializationHandlerSets the ref-id that was found at the start of this element, if any.- Specified by:
setRefIdin interfaceDeserializationHandler- Overrides:
setRefIdin classAbstractDeserializationHandler
-
-