Class AbstractAudioManagerConfigXML

  • All Implemented Interfaces:
    XmlAdapter
    Direct Known Subclasses:
    DefaultAudioManagerXml

    public abstract class AbstractAudioManagerConfigXML
    extends AbstractNamedBeanManagerConfigXML
    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.

    • Method Detail

      • store

        public Element store​(java.lang.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​(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​(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.