Class AbstractAudioManagerConfigXML
- java.lang.Object
-
- jmri.configurexml.AbstractXmlAdapter
-
- jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
-
- jmri.managers.configurexml.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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.configurexml.AbstractXmlAdapter
AbstractXmlAdapter.EnumIO<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoMapped<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoNames<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoNamesNumbers<T extends java.lang.Enum<T>>, AbstractXmlAdapter.EnumIoOrdinals<T extends java.lang.Enum<T>>
-
-
Constructor Summary
Constructors Constructor Description AbstractAudioManagerConfigXML()
Default constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
loadAudio(org.jdom2.Element audio)
Utility method to load the individual Audio objects.int
loadOrder()
abstract void
setStoreElementClass(org.jdom2.Element audio)
Subclass provides implementation to create the correct top element, including the type information.org.jdom2.Element
store(java.lang.Object o)
Default implementation for storing the contents of an AudioManager.-
Methods inherited from class jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
checkedNamedBeanHandle, checkedNamedBeanName, checkedNamedBeanReference, checkNameNormalization, getAttributeBool, getAttributeString, getSystemName, getUserName, getUserName, loadComment, loadComment, loadCommon, loadInAdapter, loadProperties, storeComment, storeCommon, storeProperties, storeUserName
-
Methods inherited from class jmri.configurexml.AbstractXmlAdapter
getAttributeBooleanValue, getAttributeDoubleValue, getAttributeFloatValue, getAttributeIntegerValue, getExceptionHandler, handleException, load, load, load, load, loadDeferred, setExceptionHandler, store
-
-
-
-
Constructor Detail
-
AbstractAudioManagerConfigXML
public AbstractAudioManagerConfigXML()
Default constructor
-
-
Method Detail
-
store
public org.jdom2.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(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 interfaceXmlAdapter
- Overrides:
loadOrder
in classAbstractXmlAdapter
-
-