Package jmri.jmrit.withrottle
Class AbstractController
java.lang.Object
jmri.jmrit.withrottle.AbstractController
- Direct Known Subclasses:
ConsistController,FastClockController,RouteController,TrackPowerController,TurnoutController
Abstract for controllers that want to receive or send communications to a
connected wi-fi device.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean(package private) boolean(package private) ArrayList<ControllerInterface> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddControllerListener(ControllerInterface listener) Add a listener to handle: listener.sendPacketToDevice(message);voidBuild list only if there are no controller listeners.voidIf no listeners, clear sysNameList pointer and allow list to be re-built Manager can implement specifics in deregister().(package private) abstract voidDeregister as listener of NamedBeansvoid(package private) abstract voidhandleMessage(String message, DeviceServer deviceServer) Break down a message and use it.(package private) abstract voidregister()Register as listener of NamedBeans to be updated of changes.voidremoveControllerListener(ControllerInterface listener) (package private) abstract booleanisValid is used to indicate if the Controller is created.
-
Field Details
-
listeners
-
sysNameList
-
isValid
boolean isValid -
canBuildList
boolean canBuildList
-
-
Constructor Details
-
AbstractController
public AbstractController()
-
-
Method Details
-
verifyCreation
isValid is used to indicate if the Controller is created. If false, we can null the controller and reduce overhead.- Returns:
- isValid
-
handleMessage
Break down a message and use it.- Parameters:
message- message for controller to parse and take actiondeviceServer- DeviceServer that sent this message, used to send response messages to proper client
-
register
Register as listener of NamedBeans to be updated of changes. -
deregister
Deregister as listener of NamedBeans -
buildList
Build list only if there are no controller listeners. This way the list is not changed while in use. This should only be called by a subclass of jmri.Manager *Manager can implement specifics in register().- Parameters:
manager- which manager to get system names for.
-
filterList
-
checkCanBuildList
If no listeners, clear sysNameList pointer and allow list to be re-built Manager can implement specifics in deregister(). -
addControllerListener
Add a listener to handle: listener.sendPacketToDevice(message);- Parameters:
listener- listener to add to listeners list
-
removeControllerListener
-