Class 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.

    • 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 interface XmlAdapter
        Overrides:
        load in class AbstractXmlAdapter
        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.