Package jmri.jmrix.nce
Class NceProgrammerManager
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.managers.DefaultProgrammerManager
-
- jmri.jmrix.nce.NceProgrammerManager
-
- All Implemented Interfaces:
AddressedProgrammerManager
,PropertyChangeFirer
,PropertyChangeProvider
,GlobalProgrammerManager
public class NceProgrammerManager extends DefaultProgrammerManager
Extend DefaultProgrammerManager to provide ops mode programmers for NCE systems.- See Also:
GlobalProgrammerManager
-
-
Field Summary
Fields Modifier and Type Field Description (package private) NceSystemConnectionMemo
memo
(package private) NceTrafficController
tc
-
Fields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport
-
-
Constructor Summary
Constructors Constructor Description NceProgrammerManager(NceSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AddressedProgrammer
getAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a Addressed Mode Programmer without reservation.Programmer
getGlobalProgrammer()
Gain access to the Global Mode Programmer without reservation.boolean
isAddressedModePossible()
Convenience method to check whether you'll be able to get an Addressed Mode programmer.boolean
isGlobalProgrammerAvailable()
Convenience method to check whether you'll be able to get a Global Mode programmer.AddressedProgrammer
reserveAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.-
Methods inherited from class jmri.managers.DefaultProgrammerManager
dispose, getDefaultModes, getUserName, isAddressedModePossible, releaseAddressedProgrammer, releaseGlobalProgrammer, reserveGlobalProgrammer, toString
-
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, wait, wait, wait
-
Methods inherited from interface jmri.AddressedProgrammerManager
getAddressedProgrammer, reserveAddressedProgrammer
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Constructor Detail
-
NceProgrammerManager
public NceProgrammerManager(@Nonnull NceSystemConnectionMemo memo)
-
-
Method Detail
-
isAddressedModePossible
public boolean isAddressedModePossible()
Convenience method to check whether you'll be able to get an Addressed Mode programmer.- Specified by:
isAddressedModePossible
in interfaceAddressedProgrammerManager
- Overrides:
isAddressedModePossible
in classDefaultProgrammerManager
- Returns:
- true if selected NCE hardware and connection type support Ops Mode
-
isGlobalProgrammerAvailable
public boolean isGlobalProgrammerAvailable()
Convenience method to check whether you'll be able to get a Global Mode programmer.- Specified by:
isGlobalProgrammerAvailable
in interfaceGlobalProgrammerManager
- Overrides:
isGlobalProgrammerAvailable
in classDefaultProgrammerManager
- Returns:
- true if selected NCE hardware and connection type support Service Mode
-
getGlobalProgrammer
public Programmer getGlobalProgrammer()
Gain access to the Global Mode Programmer without reservation.Note: The NCE service mode programmer might exist, but not be able to function. Not a great situation, but there it is. We therefore check before returning it.
- Specified by:
getGlobalProgrammer
in interfaceGlobalProgrammerManager
- Overrides:
getGlobalProgrammer
in classDefaultProgrammerManager
- Returns:
- null only if there isn't a Global Mode Programmer available via this Manager.
-
getAddressedProgrammer
public AddressedProgrammer getAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a Addressed Mode Programmer without reservation.- Specified by:
getAddressedProgrammer
in interfaceAddressedProgrammerManager
- Overrides:
getAddressedProgrammer
in classDefaultProgrammerManager
- Parameters:
pLongAddress
- true if this is a long (14 bit) address, else falsepAddress
- specific decoder address to use- Returns:
- null only if there isn't an Ops Mode Programmer in the system
-
reserveAddressedProgrammer
public AddressedProgrammer reserveAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.- Specified by:
reserveAddressedProgrammer
in interfaceAddressedProgrammerManager
- Overrides:
reserveAddressedProgrammer
in classDefaultProgrammerManager
- Parameters:
pLongAddress
- true if this is a long (14 bit) address, else falsepAddress
- Specific decoder address to use- Returns:
- null if the address is in use by a reserved programmer
-
-