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) NceSystemConnectionMemomemo(package private) NceTrafficControllertc-
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 AddressedProgrammergetConcreteAddressedProgrammer(boolean pLongAddress, int pAddress)Gain access to a Addressed Mode Programmer without reservation.protected ProgrammergetConcreteGlobalProgrammer()Gain access to the Global Mode Programmer without reservation.booleanisAddressedModePossible()Convenience method to check whether you'll be able to get an Addressed Mode programmer.booleanisGlobalProgrammerAvailable()Convenience method to check whether you'll be able to get a Global Mode programmer.protected AddressedProgrammerreserveConcreteAddressedProgrammer(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:
isAddressedModePossiblein interfaceAddressedProgrammerManager- Overrides:
isAddressedModePossiblein 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:
isGlobalProgrammerAvailablein interfaceGlobalProgrammerManager- Overrides:
isGlobalProgrammerAvailablein 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:
getConcreteGlobalProgrammerin 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:
getConcreteAddressedProgrammerin 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:
reserveConcreteAddressedProgrammerin 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
-
-