Package jmri.managers.configurexml
Class AbstractSensorManagerConfigXML
java.lang.Object
jmri.configurexml.AbstractXmlAdapter
jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
jmri.managers.configurexml.AbstractSensorManagerConfigXML
- All Implemented Interfaces:
XmlAdapter
- Direct Known Subclasses:
AcelaSensorManagerXml,BiDiBSensorManagerXml,CbusSensorManagerXml,Dcc4PcSensorManagerXml,DCCppSensorManagerXml,EcosSensorManagerXml,InternalSensorManagerXml,IpocsSensorManagerXml,JMRIClientSensorManagerXml,LnSensorManagerXml,MarklinSensorManagerXml,MqttSensorManagerXml,NceSensorManagerXml,OlcbSensorManagerXml,RaspberryPiSensorManagerXml,RfidSensorManagerXml,RpsSensorManagerXml,SerialSensorManagerXml,SerialSensorManagerXml,SerialSensorManagerXml,SerialSensorManagerXml,SerialSensorManagerXml,SerialSensorManagerXml,SRCPSensorManagerXml,TamsSensorManagerXml,XBeeSensorManagerXml,XNetSensorManagerXml,Z21SensorManagerXml
Provides the abstract base and store functionality for configuring
SensorManagers, working with AbstractSensorManagers.
Typically, a subclass will just implement the load(Element sensors) class, relying on implementation here to load the individual sensors. Note that these are stored explicitly, so the resolution mechanism doesn't need to see *Xml classes for each specific Sensor or AbstractSensor subclass at store time.
-
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 TypeMethodDescriptionabstract booleanload(org.jdom2.Element sharedSensors, org.jdom2.Element perNodeSensors) Create a SensorManager object of the correct class, then register and fill it.intbooleanloadSensors(org.jdom2.Element sensors) Utility method to load the individual Sensor objects.abstract voidsetStoreElementClass(org.jdom2.Element sensors) Subclass provides implementation to create the correct top element, including the type information.org.jdom2.ElementDefault implementation for storing the contents of a SensorManager.org.jdom2.ElementMethods 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
-
AbstractSensorManagerConfigXML
public AbstractSensorManagerConfigXML()
-
-
Method Details
-
store
Default implementation for storing the contents of a SensorManager.- Parameters:
o- Object to store, of type SensorManager- Returns:
- Element containing the complete info
-
store
-
setStoreElementClass
Subclass provides implementation to create the correct top element, including the type information. Default implementation is to use the local class here.- Parameters:
sensors- The top-level element being created
-
load
public abstract boolean load(org.jdom2.Element sharedSensors, org.jdom2.Element perNodeSensors) throws JmriConfigureXmlException Create a SensorManager object of the correct class, then register and fill it.- Specified by:
loadin interfaceXmlAdapter- Overrides:
loadin classAbstractXmlAdapter- Parameters:
sharedSensors- Shared top level Element to unpack.perNodeSensors- Per-node top level Element to unpack.- Returns:
- true if successful
- Throws:
JmriConfigureXmlException- if error during load
-
loadSensors
Utility method to load the individual Sensor objects. If there's no additional info needed for a specific sensor type, invoke this with the parent of the set of Sensor elements.- Parameters:
sensors- Element containing the Sensor elements to load.- Returns:
- true if succeeded.
- Throws:
JmriConfigureXmlException- on error.
-
loadOrder
Description copied from class:AbstractXmlAdapter- Specified by:
loadOrderin interfaceXmlAdapter- Overrides:
loadOrderin classAbstractXmlAdapter
-