Package jmri.managers

Class AbstractManager<E extends NamedBean>

Type Parameters:
E - the class this manager supports
All Implemented Interfaces:
PropertyChangeListener, VetoableChangeListener, EventListener, PropertyChangeFirer, PropertyChangeProvider, SilenceablePropertyChangeProvider, VetoableChangeFirer, VetoableChangeProvider, Manager<E>
Direct Known Subclasses:
AbstractAnalogIOManager, AbstractAudioManager, AbstractLightManager, AbstractMemoryManager, AbstractMeterManager, AbstractReporterManager, AbstractSensorManager, AbstractSignalHeadManager, AbstractStringIOManager, AbstractTurnoutManager, BlockManager, DefaultCatalogTreeManager, DefaultConditionalManager, DefaultIdTagManager, DefaultLogixManager, DefaultRouteManager, DefaultSignalGroupManager, DefaultSignalMastLogicManager, DefaultSignalMastManager, DefaultSignalSystemManager, DefaultVariableLightManager, EcosLocoAddressManager, LayoutBlockManager, NamedBeanHandleManager, OBlockManager, SectionManager, TransitManager, WarrantManager

public abstract class AbstractManager<E extends NamedBean>
extends VetoableChangeSupport
implements Manager<E>, PropertyChangeListener, VetoableChangeListener
Abstract partial implementation for all Manager-type classes.

Note that this does not enforce any particular system naming convention at the present time. They're just names...

It does include, with AbstractNamedBean, the implementation of the normalized user name.

See source file for extensive implementation notes.

See Also:
NamedBean.normalizeUserName(java.lang.String)