Package jmri.jmrit.audio
Class DefaultAudioManager
java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.beans.VetoableChangeSupport
jmri.managers.AbstractManager<Audio>
jmri.managers.AbstractAudioManager
jmri.jmrit.audio.DefaultAudioManager
- All Implemented Interfaces:
PropertyChangeListener
,VetoableChangeListener
,EventListener
,AudioManager
,PropertyChangeFirer
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeFirer
,VetoableChangeProvider
,Manager<Audio>
public class DefaultAudioManager extends AbstractAudioManager
Provide the concrete implementation for the Internal Audio Manager.
This file is part of JMRI.
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 interface jmri.Manager
Manager.ManagerDataEvent<E extends NamedBean>, Manager.ManagerDataListener<E extends NamedBean>, Manager.NameValidity
-
Field Summary
Fields Modifier and Type Field Description Runnable
audioShutDownTask
Fields inherited from class jmri.managers.AbstractManager
_beans, _tsys, _tuser, memo, silenceableProperties, silencedProperties
Fields inherited from interface jmri.Manager
ANALOGIOS, AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, CTCDATA, deprecatedManagerLogger, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXNG_ANALOG_ACTIONS, LOGIXNG_ANALOG_EXPRESSIONS, LOGIXNG_CONDITIONALNGS, LOGIXNG_DIGITAL_ACTIONS, LOGIXNG_DIGITAL_BOOLEAN_ACTIONS, LOGIXNG_DIGITAL_EXPRESSIONS, LOGIXNG_STRING_ACTIONS, LOGIXNG_STRING_EXPRESSIONS, LOGIXNG_TABLES, LOGIXNGS, LOGIXS, MEMORIES, METERFRAMES, METERS, OBLOCKS, PANELFILES, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, STRINGIOS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
-
Constructor Summary
Constructors Constructor Description DefaultAudioManager(InternalSystemConnectionMemo memo)
-
Method Summary
Modifier and Type Method Description void
cleanup()
Perform any clean-up operationsprotected Audio
createNewAudio(String systemName, String userName)
Internal method to invoke the factory, after all the logic for returning an existing Audio has been invoked.void
deregister(Audio s)
Forget a NamedBean Object created outside the manager.void
dispose()
Free resources when no longer used.AudioFactory
getActiveAudioFactory()
Returns the currently active AudioFactory object.SortedSet<Audio>
getNamedBeanSet(char subType)
Get the specified Audio sub-type NamedBeans.List<String>
getSystemNameList(char subType)
Deprecated.int
getXMLOrder()
Determine the order that types should be written when storing panel files.void
init()
Initialise the manager and make connections.static DefaultAudioManager
instance()
Deprecated.since 4.17.3; useInstanceManager.getDefault(java.lang.Class)
insteadboolean
isInitialised()
Determine if this AudioManager is initialisedMethods inherited from class jmri.managers.AbstractAudioManager
getAudio, getBeanTypeHandled, getBySystemName, getByUserName, getNamedBeanClass, newAudio, provideAudio, typeLetter
Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, createSystemName, deleteBean, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getIncrement, getIncrementFromExistingNumber, getInstanceBySystemName, getInstanceByUserName, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanList, getNamedBeanSet, getNextValidAddress, getNextValidAddress, getObjectCount, getSystemNameList, getSystemPrefix, handleUserNameUniqueness, makeSystemName, propertyChange, register, registerSelf, registerUserName, removeDataListener, setDataListenerMute, setPropertyChangesSilenced, updateAutoNumber, validSystemNameFormat, vetoableChange
Methods inherited from class jmri.beans.VetoableChangeSupport
addVetoableChangeListener, addVetoableChangeListener, fireVetoableChange, fireVetoableChange, fireVetoableChange, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
Methods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jmri.Manager
addDataListener, deleteBean, getBeanBySystemName, getBeanByUserName, getBeanTypeHandled, getEntryToolTip, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanList, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, getSystemNameList, getSystemNamePrefix, getSystemPrefix, isValidSystemNameFormat, makeSystemName, makeSystemName, makeSystemName, register, removeDataListener, setDataListenerMute, setPropertyChangesMuted, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat, validSystemNameFormat
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
Methods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilenced
Methods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Field Details
-
Constructor Details
-
Method Details
-
getXMLOrder
Description copied from interface:Manager
Determine the order that types should be written when storing panel files. Uses one of the constants defined in this class.Yes, that's an overly-centralized methodology, but it works for now.
- Returns:
- write order for this Manager; larger is later.
-
createNewAudio
Description copied from class:AbstractAudioManager
Internal method to invoke the factory, after all the logic for returning an existing Audio has been invoked.- Specified by:
createNewAudio
in classAbstractAudioManager
- Parameters:
systemName
- Audio object system name (for example IAS1, IAB4)userName
- Audio object user name- Returns:
- never null
- Throws:
AudioException
- if error occurs during creation
-
getSystemNameList
Deprecated.Description copied from interface:AudioManager
Get a list of specified Audio sub-type objects' system names.- Parameters:
subType
- sub-type to retrieve- Returns:
- List of specified Audio sub-type objects' system names.
-
getNamedBeanSet
Get the specified Audio sub-type NamedBeans.- Parameters:
subType
- sub-type to retrieve- Returns:
- Unmodifiable access to a SortedSet of NamedBeans for the specified Audio sub-type .
-
init
Initialise the manager and make connections. -
isInitialised
Determine if this AudioManager is initialised- Returns:
- true if initialised
-
deregister
Description copied from class:AbstractManager
Forget a NamedBean Object created outside the manager.The non-system-specific RouteManager uses this method.
- Specified by:
deregister
in interfaceManager<Audio>
- Overrides:
deregister
in classAbstractManager<Audio>
- Parameters:
s
- the bean
-
cleanup
Description copied from interface:AudioManager
Perform any clean-up operations -
dispose
Description copied from class:AbstractManager
Free resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected. -
getActiveAudioFactory
Description copied from interface:AudioManager
Returns the currently active AudioFactory object.An Audio factory is responsible for the creation of implementation specific audio objects.
- Returns:
- current active AudioFactory object
-
instance
Deprecated.since 4.17.3; useInstanceManager.getDefault(java.lang.Class)
insteadGet the current instance of this object.If not existing, create a new instance.
- Returns:
- reference to currently active AudioManager
-