jmri.managers.configurexml
Class AbstractAudioManagerConfigXML

java.lang.Object
  extended by jmri.configurexml.AbstractXmlAdapter
      extended by jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
          extended by 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.

Author:
Bob Jacobsen Copyright: Copyright (c) 2002, 2008, Matthew Harris copyright (c) 2009, 2011

Constructor Summary
AbstractAudioManagerConfigXML()
          Default constructor
 
Method Summary
abstract  boolean load(Element audio)
          Create a AudioManager object of the correct class, then register and fill it.
 void load(Element element, Object o)
          Create a set of configured objects from their XML description, using an auxiliary object.
 void loadAudio(Element audio)
          Utility method to load the individual Audio objects.
 int loadOrder()
          Used for determining which order to load items from XML files in.
abstract  void setStoreElementClass(Element audio)
          Subclass provides implementation to create the correct top element, including the type information.
 Element store(Object o)
          Default implementation for storing the contents of a AudioManager
 
Methods inherited from class jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML
getSystemName, getUserName, getUserName, loadCommon, storeCommon
 
Methods inherited from class jmri.configurexml.AbstractXmlAdapter
creationErrorEncountered, getConfigXmlManager, loadDeferred, setConfigXmlManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAudioManagerConfigXML

public AbstractAudioManagerConfigXML()
Default constructor

Method Detail

store

public Element store(Object o)
Default implementation for storing the contents of a 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

load

public void load(Element element,
                 Object o)
Description copied from interface: XmlAdapter
Create a set of configured objects from their XML description, using an auxiliary object.

For example, the auxilary object o might be a manager or GUI of some type that needs to be informed as each object is created.

Parameters:
element - Top-level XML element containing the description
o - Implementation-specific Object needed for the conversion

load

public abstract boolean load(Element audio)
Create a AudioManager object of the correct class, then register and fill it.

Parameters:
audio - Top level Element to unpack.
Returns:
true if successful

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.

loadOrder

public int loadOrder()
Description copied from class: AbstractXmlAdapter
Used for determining which order to load items from XML files in.

Specified by:
loadOrder in interface XmlAdapter
Overrides:
loadOrder in class AbstractXmlAdapter


Copyright © 1997 - 2011 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads