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

  • Constructor Details

  • Method Details

    • store

      public org.jdom2.Element store(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
    • storeMeter

      protected org.jdom2.Element storeMeter(Meter m)
      Create an element representing a single Meter
      Parameters:
      m - The Meter being stored
      Returns:
      Element containing the Meter 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.
    • loadMeter

      protected void loadMeter(String sysName, String userName, org.jdom2.Element el, MeterManager mm)
    • loadOrder

      public int loadOrder()
      Description copied from class: AbstractXmlAdapter
      Specified by:
      loadOrder in interface XmlAdapter
      Overrides:
      loadOrder in class AbstractXmlAdapter