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,OlcbMeterManagerXml
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 Enum<T>>, AbstractXmlAdapter.EnumIoMapped<T extends Enum<T>>, AbstractXmlAdapter.EnumIoNames<T extends Enum<T>>, AbstractXmlAdapter.EnumIoNamesNumbers<T extends Enum<T>>, AbstractXmlAdapter.EnumIoOrdinals<T extends 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_VALUEFields inherited from class jmri.configurexml.AbstractXmlAdapter
STR_FALSE, STR_NO, STR_TRUE, STR_YES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanload(org.jdom2.Element sharedMeters, org.jdom2.Element perNodeMemories) Create a MeterManager object of the correct class, then register and fill it.protected voidloadMeter(String sysName, String userName, org.jdom2.Element el, MeterManager mm) voidloadMeters(org.jdom2.Element meters) Utility method to load the individual Meter objects.intvoidsetStoreElementClass(org.jdom2.Element meters) Subclass provides implementation to create the correct top element, including the type information.org.jdom2.ElementDefault implementation for storing the contents of a MeterManager.protected org.jdom2.ElementstoreMeter(Meter m) Create an element representing a single MeterMethods inherited from class jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
checkedNamedBeanHandle, checkedNamedBeanName, checkedNamedBeanReference, checkNameNormalization, getAttributeBool, getAttributeString, getSystemName, getUserName, getUserName, loadComment, loadComment, loadCommon, loadInAdapter, loadProperties, storeComment, storeCommon, storeProperties, storeUserNameMethods inherited from class jmri.configurexml.AbstractXmlAdapter
getAttributeBooleanValue, getAttributeDoubleValue, getAttributeFloatValue, getAttributeIntegerValue, getExceptionHandler, handleException, load, load, load, loadDeferred, setExceptionHandler, store
-
Constructor Details
-
AbstractMeterManagerXml
public AbstractMeterManagerXml()
-
-
Method Details
-
store
Default implementation for storing the contents of a MeterManager.- Parameters:
o- Object to store, of type MeterManager- Returns:
- Element containing the complete info
-
storeMeter
Create an element representing a single Meter- Parameters:
m- The Meter being stored- Returns:
- Element containing the Meter info
-
setStoreElementClass
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:
loadin interfaceXmlAdapter- Overrides:
loadin 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
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.
-
loadMeter
-
loadOrder
Description copied from class:AbstractXmlAdapter- Specified by:
loadOrderin interfaceXmlAdapter- Overrides:
loadOrderin classAbstractXmlAdapter
-