|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface TurnoutManager
Locate a Turnout object representing some specific turnout on the layout.
Turnout objects are obtained from a TurnoutManager, which in turn is generally located from the InstanceManager. A typical call sequence might be:
Turnout turnout = InstanceManager.turnoutManagerInstance().provideTurnout("23");
Each turnout has a two names. The "user" name is entirely free form, and can be used for any purpose. The "system" name is provided by the system-specific implementations, and provides a unique mapping to the layout control system (e.g. LocoNet, NCE, etc) and address within that system.
Much of the book-keeping is implemented in the AbstractTurnoutManager class, which can form the basis for a system-specific implementation.
A sample use of the TurnoutManager interface can be seen in the jmri.jmrit.simpleturnoutctrl.SimpleTurnoutCtrlFrame class, which provides a simple GUI for controlling a single turnout.
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.
Turnout,
InstanceManager,
SimpleTurnoutCtrlFrame| Field Summary |
|---|
| Fields inherited from interface jmri.Manager |
|---|
AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXS, MEMORIES, OBLOCKS, PANELFILES, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS |
| Method Summary | |
|---|---|
boolean |
allowMultipleAdditions(String systemName)
A method that determines if it is possible to add a range of turnouts in numerical order eg 10 to 30 will return true. |
int |
askControlType(String systemName)
Get from the user, the type of output to be used bits to control a turnout. |
int |
askNumControlBits(String systemName)
Get from the user, the number of addressed bits used to control a turnout. |
String |
createSystemName(String curAddress,
String prefix)
Returns a system name for a given hardware address and system prefix. |
Turnout |
getBySystemName(String systemName)
Locate an instance based on a system name. |
Turnout |
getByUserName(String userName)
Locate an instance based on a user name. |
String |
getClosedText()
Get text to be used for the Turnout.CLOSED state in user communication. |
String |
getDefaultClosedSpeed()
|
String |
getDefaultThrownSpeed()
|
String |
getNextValidAddress(String curAddress,
String prefix)
Determine if the address supplied is valid and free, if not then it shall return the next free valid address up to a maximum of 10 address away from the initial address. |
List<String> |
getSystemNameList()
Get a list of all Turnouts' system names. |
String |
getThrownText()
Get text to be used for the Turnout.THROWN state in user communication. |
Turnout |
getTurnout(String name)
Locate via user name, then system name if needed. |
String[] |
getValidOperationTypes()
Get a list of the valid TurnoutOPeration subtypes for use with turnouts of this system |
boolean |
isControlTypeSupported(String systemName)
Determines if the manager supports the handling of pulsed and steady state control as the askControlType will always return a value even if it is not supported |
boolean |
isNumControlBitsSupported(String systemName)
Determines if the manager supports multiple control bits, as the askNumControlBits will always return a value even if it is not supported |
Turnout |
newTurnout(String systemName,
String userName)
Return an instance with the specified system and user names. |
Turnout |
provideTurnout(String name)
Locate via user name, then system name if needed. |
void |
setDefaultClosedSpeed(String speed)
|
void |
setDefaultThrownSpeed(String speed)
|
| Methods inherited from interface jmri.Manager |
|---|
addPropertyChangeListener, deregister, dispose, getBeanBySystemName, getBeanByUserName, getNamedBean, getNamedBeanList, getSystemNameArray, getSystemPrefix, getXMLOrder, makeSystemName, register, removePropertyChangeListener, systemLetter, typeLetter |
| Method Detail |
|---|
Turnout provideTurnout(String name)
name - User name, system name, or address which
can be promoted to system name
IllegalArgumentException - if Turnout doesn't
already exist and the manager cannot create the Turnout
due to e.g. an illegal name or name that can't be parsed.Turnout getTurnout(String name)
name -
Turnout getBySystemName(String systemName)
Turnout getByUserName(String userName)
Turnout newTurnout(String systemName,
String userName)
This will always return a valid object reference; a new object will be created if necessary. In that case:
IllegalArgumentException - if cannot create the Turnout
due to e.g. an illegal name or name that can't be parsed.List<String> getSystemNameList()
getSystemNameList in interface ManagerString getClosedText()
String getThrownText()
String[] getValidOperationTypes()
int askNumControlBits(String systemName)
boolean isNumControlBitsSupported(String systemName)
int askControlType(String systemName)
boolean isControlTypeSupported(String systemName)
boolean allowMultipleAdditions(String systemName)
String getNextValidAddress(String curAddress,
String prefix)
throws JmriException
prefix - - The System Prefix used to make up the systemNamecurAddress - - The hardware address of the turnout we which to check.
JmriException
String createSystemName(String curAddress,
String prefix)
throws JmriException
JmriException
void setDefaultClosedSpeed(String speed)
throws JmriException
JmriException
void setDefaultThrownSpeed(String speed)
throws JmriException
JmriExceptionString getDefaultThrownSpeed()
String getDefaultClosedSpeed()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||