jmri
Interface Manager

Show UML class diagram
All Known Subinterfaces:
AudioManager, CatalogTreeManager, ConditionalManager, IdTagManager, LightManager, LogixManager, MemoryManager, RailComManager, ReporterManager, RouteManager, SensorManager, SignalGroupManager, SignalHeadManager, SignalMastLogicManager, SignalMastManager, SignalSystemManager, TurnoutManager
All Known Implementing Classes:
AbstractAudioManager, AbstractLightManager, AbstractManager, AbstractMemoryManager, AbstractProxyManager, AbstractReporterManager, AbstractSensorManager, AbstractSignalHeadManager, AbstractTurnoutManager, AcelaLightManager, AcelaSensorManager, AcelaTurnoutManager, BlockManager, CbusSensorManager, CbusTurnoutManager, Dcc4PcReporterManager, Dcc4PcSensorManager, DefaultAudioManager, DefaultCatalogTreeManager, DefaultConditionalManager, DefaultIdTagManager, DefaultLogixManager, DefaultMemoryManager, DefaultRailComManager, DefaultRouteManager, DefaultSignalGroupManager, DefaultSignalMastLogicManager, DefaultSignalMastManager, DefaultSignalSystemManager, EasyDccTurnoutManager, EcosLocoAddressManager, EcosReporterManager, EcosSensorManager, EcosTurnoutManager, EliteXNetTurnoutManager, EntryExitPairs, InternalLightManager, InternalReporterManager, InternalSensorManager, InternalSensorManager, InternalTurnoutManager, InternalTurnoutManager, JMRIClientLightManager, JMRIClientReporterManager, JMRIClientSensorManager, JMRIClientTurnoutManager, LayoutBlockManager, LnLightManager, LnReporterManager, LnSensorManager, LnSensorManager, LnTurnoutManager, MarklinSensorManager, MarklinTurnoutManager, NamedBeanHandleManager, NceLightManager, NceSensorManager, NceTurnoutManager, OBlockManager, OlcbSensorManager, OlcbTurnoutManager, ProxyLightManager, ProxyReporterManager, ProxySensorManager, ProxyTurnoutManager, RfidReporterManager, RfidSensorManager, RpsReporterManager, RpsSensorManager, SectionManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialLightManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialSensorManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SerialTurnoutManager, SpecificLightManager, SpecificLightManager, SpecificLightManager, SpecificLightManager, SpecificReporterManager, SpecificReporterManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SpecificSensorManager, SprogTurnoutManager, SRCPSensorManager, SRCPTurnoutManager, TamsTurnoutManager, TransitManager, WarrantManager, XNetLightManager, XNetSensorManager, XNetTurnoutManager, XpaTurnoutManager

public interface Manager

Basic interface for access to named, managed objects.

NamedBean objects represent various real elements, and have a "system name" and perhaps "user name". A specific Manager object provides access to them by name, and serves as a factory for new objects.

Right now, this interface just contains the members needed by InstanceManager to handle managers for more than one system.

Although they are not defined here because their return type differs, any specific Manager subclass provides "get" methods to locate specific objects, and a "new" method to create a new one via the Factory pattern. The "get" methods will return an existing object or null, and will never create a new object. The "new" method will log a warning if an object already exists with that system name.

add/remove PropertyChangeListener methods are provided. At a minimum, subclasses must notify of changes to the list of available NamedBeans; they may have other properties that will also notify.


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.


Field Summary
static int AUDIO
           
static int BLOCKBOSS
           
static int BLOCKS
           
static int CONDITIONALS
           
static int ENTRYEXIT
           
static int IDTAGS
           
static int LAYOUTBLOCKS
           
static int LIGHTS
           
static int LOGIXS
           
static int MEMORIES
           
static int OBLOCKS
           
static int PANELFILES
           
static int REPORTERS
           
static int ROUTES
           
static int SECTIONS
           
static int SENSORGROUPS
           
static int SENSORS
          The order in which things get saved to the xml file.
static int SIGNALGROUPS
           
static int SIGNALHEADS
           
static int SIGNALMASTLOGICS
           
static int SIGNALMASTS
           
static int TIMEBASE
           
static int TRANSITS
           
static int TURNOUTS
           
static int WARRANTS
           
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener l)
          At a minimum, subclasses must notify of changes to the list of available NamedBeans; they may have other properties that will also notify.
 void deregister(NamedBean n)
          Forget a NamedBean Object created outside the manager.
 void dispose()
          Free resources when no longer used.
 NamedBean getBeanBySystemName(String systemName)
          Locate an instance based on a system name.
 NamedBean getBeanByUserName(String userName)
          Locate an instance based on a user name.
 NamedBean getNamedBean(String name)
          Locate an instance based on a name.
 List<NamedBean> getNamedBeanList()
           
 String[] getSystemNameArray()
           
 List<String> getSystemNameList()
           
 String getSystemPrefix()
          Provides access to the system prefix string.
 int getXMLOrder()
           
 String makeSystemName(String s)
           
 void register(NamedBean n)
          Remember a NamedBean Object created outside the manager.
 void removePropertyChangeListener(PropertyChangeListener l)
          At a minimum, subclasses must notify of changes to the list of available NamedBeans; they may have other properties that will also notify.
 char systemLetter()
          Deprecated. 2.9.5 Use getSystemPrefix
 char typeLetter()
           
 

Field Detail

SENSORS

static final int SENSORS
The order in which things get saved to the xml file.

See Also:
Constant Field Values

TURNOUTS

static final int TURNOUTS
See Also:
Constant Field Values

LIGHTS

static final int LIGHTS
See Also:
Constant Field Values

REPORTERS

static final int REPORTERS
See Also:
Constant Field Values

MEMORIES

static final int MEMORIES
See Also:
Constant Field Values

SENSORGROUPS

static final int SENSORGROUPS
See Also:
Constant Field Values

SIGNALHEADS

static final int SIGNALHEADS
See Also:
Constant Field Values

SIGNALMASTS

static final int SIGNALMASTS
See Also:
Constant Field Values

SIGNALGROUPS

static final int SIGNALGROUPS
See Also:
Constant Field Values

BLOCKS

static final int BLOCKS
See Also:
Constant Field Values

OBLOCKS

static final int OBLOCKS
See Also:
Constant Field Values

LAYOUTBLOCKS

static final int LAYOUTBLOCKS
See Also:
Constant Field Values

SECTIONS

static final int SECTIONS
See Also:
Constant Field Values

TRANSITS

static final int TRANSITS
See Also:
Constant Field Values

BLOCKBOSS

static final int BLOCKBOSS
See Also:
Constant Field Values

ROUTES

static final int ROUTES
See Also:
Constant Field Values

WARRANTS

static final int WARRANTS
See Also:
Constant Field Values

SIGNALMASTLOGICS

static final int SIGNALMASTLOGICS
See Also:
Constant Field Values

IDTAGS

static final int IDTAGS
See Also:
Constant Field Values

LOGIXS

static final int LOGIXS
See Also:
Constant Field Values

CONDITIONALS

static final int CONDITIONALS
See Also:
Constant Field Values

AUDIO

static final int AUDIO
See Also:
Constant Field Values

TIMEBASE

static final int TIMEBASE
See Also:
Constant Field Values

PANELFILES

static final int PANELFILES
See Also:
Constant Field Values

ENTRYEXIT

static final int ENTRYEXIT
See Also:
Constant Field Values
Method Detail

systemLetter

@Deprecated
char systemLetter()
Deprecated. 2.9.5 Use getSystemPrefix

Returns:
The system-specific prefix letter for a specific implementation

getSystemPrefix

String getSystemPrefix()
Provides access to the system prefix string. This was previously called the "System letter"


typeLetter

char typeLetter()
Returns:
The type letter for a specific implementation

makeSystemName

String makeSystemName(String s)
Returns:
A system name from a user input, typically a number.

dispose

void dispose()
Free resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected.


getSystemNameArray

String[] getSystemNameArray()

getSystemNameList

List<String> getSystemNameList()

getNamedBeanList

List<NamedBean> getNamedBeanList()

getBeanBySystemName

NamedBean getBeanBySystemName(String systemName)
Locate an instance based on a system name. Returns null if no instance already exists.

Parameters:
systemName - System Name of the required NamedBean
Returns:
requested NamedBean object or null if none exists

getBeanByUserName

NamedBean getBeanByUserName(String userName)
Locate an instance based on a user name. Returns null if no instance already exists.

Parameters:
userName - System Name of the required NamedBean
Returns:
requested NamedBean object or null if none exists

getNamedBean

NamedBean getNamedBean(String name)
Locate an instance based on a name. Returns null if no instance already exists.

Parameters:
name - System Name of the required NamedBean
Returns:
requested NamedBean object or null if none exists

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener l)
At a minimum, subclasses must notify of changes to the list of available NamedBeans; they may have other properties that will also notify.


removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener l)
At a minimum, subclasses must notify of changes to the list of available NamedBeans; they may have other properties that will also notify.


register

void register(NamedBean n)
Remember a NamedBean Object created outside the manager.

The non-system-specific SignalHeadManagers use this method extensively.


deregister

void deregister(NamedBean n)
Forget a NamedBean Object created outside the manager.

The non-system-specific RouteManager uses this method.


getXMLOrder

int getXMLOrder()


Copyright © 1997-2013 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