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
-
Constructor Summary
Constructors Constructor Description NceProgrammerManager(NceSystemConnectionMemo memo)
-
Method Summary
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
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
-
Field Details
-
Constructor Details
-
Method Details
-
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
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
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
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
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
-