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 protected AddressedProgrammer
getConcreteAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a Addressed Mode Programmer without reservation.protected Programmer
getConcreteGlobalProgrammer()
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.protected AddressedProgrammer
reserveConcreteAddressedProgrammer(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, getAddressedProgrammer, getDefaultModes, getGlobalProgrammer, getUserName, isAddressedModePossible, releaseAddressedProgrammer, releaseGlobalProgrammer, reserveAddressedProgrammer, reserveConcreteGlobalProgrammer, 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
-
getConcreteGlobalProgrammer
protected Programmer getConcreteGlobalProgrammer()
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.
- Overrides:
getConcreteGlobalProgrammer
in classDefaultProgrammerManager
- Returns:
- null only if there isn't a Global Mode Programmer available via this Manager.
-
getConcreteAddressedProgrammer
protected AddressedProgrammer getConcreteAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a Addressed Mode Programmer without reservation.- Overrides:
getConcreteAddressedProgrammer
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
-
reserveConcreteAddressedProgrammer
protected AddressedProgrammer reserveConcreteAddressedProgrammer(boolean pLongAddress, int pAddress)
Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.- Overrides:
reserveConcreteAddressedProgrammer
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
-
-