Package jmri.managers.configurexml
Class AbstractMeterManagerXml
- java.lang.Object
-
- jmri.configurexml.AbstractXmlAdapter
-
- jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
-
- jmri.managers.configurexml.AbstractMeterManagerXml
-
- All Implemented Interfaces:
XmlAdapter
- Direct Known Subclasses:
InternalMeterManagerXml
public class AbstractMeterManagerXml extends AbstractNamedBeanManagerConfigXML
Provides the basic load and store functionality for configuring MeterManagers, working with AbstractMeterManagers.This class cannot create Meters, so the meters must either be already created, for example by the connections, in which case this class only updates the data of the meter, for example its user name. Or this class is overridden by a class that knows how to create the meters.
-
-
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>>
-
-
Constructor Summary
Constructors Constructor Description AbstractMeterManagerXml()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
load(org.jdom2.Element sharedMeters, org.jdom2.Element perNodeMemories)
Create a MeterManager object of the correct class, then register and fill it.void
loadMeters(org.jdom2.Element meters)
Utility method to load the individual Meter objects.int
loadOrder()
void
setStoreElementClass(org.jdom2.Element meters)
Subclass provides implementation to create the correct top element, including the type information.org.jdom2.Element
store(java.lang.Object o)
Default implementation for storing the contents of a MeterManager.-
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
-
AbstractMeterManagerXml
public AbstractMeterManagerXml()
-
-
Method Detail
-
store
public org.jdom2.Element store(java.lang.Object o)
Default implementation for storing the contents of a MeterManager.- Parameters:
o
- Object to store, of type MeterManager- Returns:
- Element containing the complete info
-
setStoreElementClass
public void setStoreElementClass(org.jdom2.Element meters)
Subclass provides implementation to create the correct top element, including the type information. Default implementation is to use the local class here.- Parameters:
meters
- The top-level element being created
-
load
public boolean load(org.jdom2.Element sharedMeters, org.jdom2.Element perNodeMemories) throws JmriConfigureXmlException
Create a MeterManager object of the correct class, then register and fill it.- Specified by:
load
in interfaceXmlAdapter
- Overrides:
load
in classAbstractXmlAdapter
- Parameters:
sharedMeters
- Shared top level Element to unpack.perNodeMemories
- Per-node top level Element to unpack.- Returns:
- true if successful
- Throws:
JmriConfigureXmlException
- if error during load.
-
loadMeters
public void loadMeters(org.jdom2.Element meters)
Utility method to load the individual Meter objects. If there's no additional info needed for a specific Meter type, invoke this with the parent of the set of Meter elements.- Parameters:
meters
- Element containing the Meter elements to load.
-
loadOrder
public int loadOrder()
Description copied from class:AbstractXmlAdapter
- Specified by:
loadOrder
in interfaceXmlAdapter
- Overrides:
loadOrder
in classAbstractXmlAdapter
-
-