Package jmri.managers.configurexml
Class AbstractMemoryManagerConfigXML
- java.lang.Object
-
- jmri.configurexml.AbstractXmlAdapter
-
- jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
-
- jmri.managers.configurexml.AbstractMemoryManagerConfigXML
-
- All Implemented Interfaces:
XmlAdapter
- Direct Known Subclasses:
BlockManagerXml,DefaultMemoryManagerXml
public abstract class AbstractMemoryManagerConfigXML extends AbstractNamedBeanManagerConfigXML
Provides the abstract base and store functionality for configuring MemoryManagers, working with AbstractMemoryManagers.Also serves as base class for
BlockManagerXmlpersistence.Typically, a subclass will just implement the load(Element memories) class, relying on implementation here to load the individual Memory objects. Note that these are stored explicitly, so the resolution mechanism doesn't need to see *Xml classes for each specific Memory or AbstractMemory subclass at store time.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.configurexml.AbstractXmlAdapter
AbstractXmlAdapter.EnumIO<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoMapped<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoNames<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoNamesNumbers<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoOrdinals<T extends java.lang.Enum<T>>
-
-
Field Summary
-
Fields inherited from class jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
STR_CLASS, STR_COMMENT, STR_KEY, STR_PROPERTIES, STR_PROPERTY, STR_SYSTEM_NAME, STR_USER_NAME, STR_VALUE
-
Fields inherited from class jmri.configurexml.AbstractXmlAdapter
STR_FALSE, STR_NO, STR_TRUE, STR_YES
-
-
Constructor Summary
Constructors Constructor Description AbstractMemoryManagerConfigXML()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleanload(org.jdom2.Element sharedMemories, org.jdom2.Element perNodeMemories)Create a MemoryManager object of the correct class, then register and fill it.voidloadMemories(org.jdom2.Element memories)Utility method to load the individual Memory objects.intloadOrder()abstract voidsetStoreElementClass(org.jdom2.Element memories)Subclass provides implementation to create the correct top element, including the type information.org.jdom2.Elementstore(java.lang.Object o)Default implementation for storing the contents of a MemoryManager.-
Methods inherited from class jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
checkedNamedBeanHandle, checkedNamedBeanName, checkedNamedBeanReference, checkNameNormalization, getAttributeBool, getAttributeString, getSystemName, getUserName, getUserName, loadComment, loadComment, loadCommon, loadInAdapter, loadProperties, storeComment, storeCommon, storeProperties, storeUserName
-
Methods inherited from class jmri.configurexml.AbstractXmlAdapter
getAttributeBooleanValue, getAttributeDoubleValue, getAttributeFloatValue, getAttributeIntegerValue, getExceptionHandler, handleException, load, load, load, loadDeferred, setExceptionHandler, store
-
-
-
-
Constructor Detail
-
AbstractMemoryManagerConfigXML
public AbstractMemoryManagerConfigXML()
-
-
Method Detail
-
store
public org.jdom2.Element store(java.lang.Object o)
Default implementation for storing the contents of a MemoryManager.- Parameters:
o- Object to store, of type MemoryManager- Returns:
- Element containing the complete info
-
setStoreElementClass
public abstract void setStoreElementClass(org.jdom2.Element memories)
Subclass provides implementation to create the correct top element, including the type information. Default implementation is to use the local class here.- Parameters:
memories- The top-level element being created
-
load
public abstract boolean load(org.jdom2.Element sharedMemories, org.jdom2.Element perNodeMemories) throws JmriConfigureXmlException
Create a MemoryManager object of the correct class, then register and fill it.- Specified by:
loadin interfaceXmlAdapter- Overrides:
loadin classAbstractXmlAdapter- Parameters:
sharedMemories- Shared top level Element to unpack.perNodeMemories- Per-node top level Element to unpack.- Returns:
- true if successful
- Throws:
JmriConfigureXmlException- if error during load.
-
loadMemories
public void loadMemories(org.jdom2.Element memories)
Utility method to load the individual Memory objects. If there's no additional info needed for a specific Memory type, invoke this with the parent of the set of Memory elements.- Parameters:
memories- Element containing the Memory elements to load.
-
loadOrder
public int loadOrder()
Description copied from class:AbstractXmlAdapter- Specified by:
loadOrderin interfaceXmlAdapter- Overrides:
loadOrderin classAbstractXmlAdapter
-
-