Package jmri.jmrix
package jmri.jmrix
Interfaces and implementations for system-specific code.
This package provides a few interfaces and abstract implementations for the system-specific code, and serves as the parent to the system-specific packages.
We intend that this will still compile and run with any of the system-specific subpackages missing. And that might even work.
Most of the system specific code is organized as follows:
- PortController classes handle the connection to the serial port or other communications link. That code is usually in the "SsssPortController" class in the "ssss.serialdriver" package
- TrafficController classes handle the sequencing and scheduling of messages and replies through a port. The intention is that a particular system use one (or few) traffic controllers with perhaps multiple port controllers for different connections
- System-specific tools are generally given their own sub-package under the system package
-
ClassDescriptionAbstract base class for common implementation of the ConnectionConfig.Pane for downloading .hex files and .dmf files to those LocoNet devices which support firmware updates via LocoNet IPL messages.Base for various message implementations used by the various abstract TrafficController classes.Abstract base class for Frames displaying communications monitor information.Abstract base class for JPanels displaying communications monitor information.Interface (perhaps eventually abstract base) for Message/Reply protocol ListenersAbstract base class for messages in a message/reply protocol.Abstract Traffic Controller base class for those implementations that track a set of nodes.Abstract base class for replies in a message/reply protocol.Abstract base for TrafficControllers in a Message/Reply protocol.Internal class to remember the Reply object and destination listener with a reply is received.Internal class to remember the Message object and destination listener when a message is queued for notification.Abstract base class for common implementation of the NetworkConnectionConfig.Enables basic setup of a network client interface for a jmrix implementation.Basic implementation of a node for JMRI protocol support.Provide an abstract base for *PortController classes.Common implementations for the Programmer interface.Common implementations of the Programmer interface for making Programmer facade classes.Abstract base class for common implementation of the SerialConnectionConfig.Provide an abstract base for *PortController classes.Enumerate the possible timeout choicesEnumerate the possible flow control choicesAbstract base class for common implementation of the Simulator ConnectionConfig.Abstract base class for common implementation of the Stream Port ConnectionConfigProvide an abstract implementation of a *StreamPortController for stream based ports.An abstract implementation of DccThrottle.Abstract implementation of a ThrottleManager.This subClass keeps track of which loco address have been requested and by whom.Abstract base class for common implementation of the ConnectionConfigCreate a "Systems" menu containing as submenus the JMRI system-specific menus for available systems.This is a marker interface for broadcast messages.For historical reasons, some NamedBean types have out-of-pattern system prefixes: OBlocks use O (as in OB) RailCom tags use R Transponding tags use L This
SystemConnectionMemoimplementation is meant to handle these by providing connection memo services without being connected to a particular system instantiation.Interface for objects that handle configuring a layout connection.Manager for ConnectionConfig objects.Interface for classes that wish to get notification when the connection to the layout changes.Definition of objects to handle configuring a layout connection.Lightweight abstract class to denote that a system is active, and provide general information.Provide GUI to configure communications links.Basic interface for messages to and from the layout hardware.Interface for classes that translate @Ref{Message} objects into stringsRepresents a single general command or response.Represents a failure during the configuration of a serial port, typically via a NetworkPortAdapter interface.Enables basic setup of a network interface for a jmrix implementation.Return a list of valid Connection Types.Enables basic setup of a interface for a jmrix implementation.An interface to allow for "callback" operations to open a symbolic programmer from connection tools.An input stream where the stream can be replaced on the fly.An output stream where the stream can be replaced on the fly.Create a factory of startup actions from a ResourceBundle.Represents a failure during the configuration of a serial port, typically via a SerialPortAdapter interface.Serial portEnumerate the possible parity choicesEnable basic setup of a serial interface for a jmrix implementation.Serial port listenerSerial port eventInterface for objects that handle configuring a layout connection.Manager for SystemConnectionMemos.Enables basic setup of a USB interface for a jmrix implementation.