Package jmri.implementation
Class TripleTurnoutSignalHead
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.implementation.AbstractSignalHead
jmri.implementation.DefaultSignalHead
jmri.implementation.DoubleTurnoutSignalHead
jmri.implementation.TripleTurnoutSignalHead
- All Implemented Interfaces:
VetoableChangeListener
,Comparable<NamedBean>
,EventListener
,PropertyChangeProvider
,NamedBean
,Signal
,SignalHead
- Direct Known Subclasses:
QuadOutputSignalHead
public class TripleTurnoutSignalHead extends DoubleTurnoutSignalHead
Drive a single signal head via three "Turnout" objects.
After much confusion, the user-level terminology was changed to call these "Triple Output"; the class name remains the same to reduce recoding.
The three Turnout objects are provided during construction, and each drives a specific color (RED, YELLOW and GREEN). Normally, "THROWN" is on, and "CLOSED" is off.
This class doesn't currently listen to the Turnout's to see if they've been changed via some other mechanism.
-
Nested Class Summary
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
Field Summary
Fields Modifier and Type Field Description (package private) NamedBeanHandle<Turnout>
mYellow
Fields inherited from class jmri.implementation.DoubleTurnoutSignalHead
mGreen, mGreenCommanded, mRed, mRedCommanded, readUpdateTimer
Fields inherited from class jmri.implementation.DefaultSignalHead
delay, masterDelay, mFlashOn, timer
Fields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, register
Fields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_STATE, QUOTED_NAME_FORMAT, UNKNOWN
Fields inherited from interface jmri.SignalHead
DARK, FLASHGREEN, FLASHLUNAR, FLASHRED, FLASHYELLOW, GREEN, HELD, LUNAR, RED, YELLOW
-
Constructor Summary
Constructors Constructor Description TripleTurnoutSignalHead(String sys, String user, NamedBeanHandle<Turnout> green, NamedBeanHandle<Turnout> yellow, NamedBeanHandle<Turnout> red)
TripleTurnoutSignalHead(String sys, NamedBeanHandle<Turnout> green, NamedBeanHandle<Turnout> yellow, NamedBeanHandle<Turnout> red)
-
Method Summary
Modifier and Type Method Description void
dispose()
Remove references to and from this object, so that it can eventually be garbage-collected.NamedBeanHandle<Turnout>
getYellow()
(package private) boolean
isTurnoutUsed(Turnout t)
Check if a given turnout is used on this head.(package private) void
readOutput()
Disables the feedback mechanism of the DoubleTurnoutSignalHead.void
setYellow(NamedBeanHandle<Turnout> t)
protected void
updateOutput()
Type-specific routine to handle output to the layout hardware.Methods inherited from class jmri.implementation.DoubleTurnoutSignalHead
commandState, getGreen, getRed, setGreen, setRed
Methods inherited from class jmri.implementation.DefaultSignalHead
appearanceSetsFlashTimer, getValidStateKeys, getValidStateNames, getValidStates, setAppearance, setHeld, setLit, startFlash, stopFlash
Methods inherited from class jmri.implementation.AbstractSignalHead
getAppearance, getAppearanceKey, getAppearanceKey, getAppearanceName, getAppearanceName, getBeanType, getDefaultStateName, getDefaultValidStateNames, getDefaultValidStates, getHeld, getLit, getState, isAtStop, isCleared, isShowingRestricting, setState, vetoableChange
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, describeState, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
Constructor Details
-
TripleTurnoutSignalHead
public TripleTurnoutSignalHead(String sys, String user, NamedBeanHandle<Turnout> green, NamedBeanHandle<Turnout> yellow, NamedBeanHandle<Turnout> red) -
TripleTurnoutSignalHead
public TripleTurnoutSignalHead(String sys, NamedBeanHandle<Turnout> green, NamedBeanHandle<Turnout> yellow, NamedBeanHandle<Turnout> red)
-
-
Method Details
-
updateOutput
Description copied from class:DefaultSignalHead
Type-specific routine to handle output to the layout hardware.Does not notify listeners of changes; that's done elsewhere. Should use the following variables to determine what to send:
- mAppearance
- mLit
- mFlashOn
- Overrides:
updateOutput
in classDoubleTurnoutSignalHead
-
dispose
Remove references to and from this object, so that it can eventually be garbage-collected.- Specified by:
dispose
in interfaceNamedBean
- Overrides:
dispose
in classDoubleTurnoutSignalHead
-
getYellow
-
setYellow
-
isTurnoutUsed
Description copied from class:AbstractSignalHead
Check if a given turnout is used on this head.- Overrides:
isTurnoutUsed
in classDoubleTurnoutSignalHead
- Parameters:
t
- Turnout object to check- Returns:
- true if turnout is configured as output or driver of head
-
readOutput
void readOutput()Disables the feedback mechanism of the DoubleTurnoutSignalHead.- Overrides:
readOutput
in classDoubleTurnoutSignalHead
-