Class AbstractAudioManagerConfigXML

All Implemented Interfaces:
XmlAdapter
Direct Known Subclasses:
DefaultAudioManagerXml

Provides the abstract base and store functionality for configuring AudioManagers, working with AbstractAudioManagers.

Typically, a subclass will just implement the load(Element audio) class, relying on implementation here to load the individual Audio objects. Note that these are stored explicitly, so the resolution mechanism doesn't need to see *Xml classes for each specific Audio or AbstractAudio subclass at store time.


This file is part of JMRI.

JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.

JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

  • Constructor Details

  • Method Details

    • store

      public org.jdom2.Element store(Object o)
      Default implementation for storing the contents of an AudioManager.
      Parameters:
      o - Object to store, of type AudioManager
      Returns:
      Element containing the complete info
    • setStoreElementClass

      public abstract void setStoreElementClass(org.jdom2.Element audio)
      Subclass provides implementation to create the correct top element, including the type information. Default implementation is to use the local class here.
      Parameters:
      audio - The top-level element being created
    • loadAudio

      public void loadAudio(org.jdom2.Element audio)
      Utility method to load the individual Audio objects. If there's no additional info needed for a specific Audio type, invoke this with the parent of the set of Audio elements.
      Parameters:
      audio - Element containing the Audio elements to load.
    • loadOrder

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