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
-
Interface Summary Interface Description AbstractMRListener Interface (perhaps eventually abstract base) for Message/Reply protocol ListenersBroadcastMessage This is a marker interface for broadcast messages.ConfiguringSystemConnectionMemo ConnectionConfig Interface for objects that handle configuring a layout connection.ConnectionTypeList Definition of objects to handle configuring a layout connection.Message Basic interface for messages to and from the layout hardware.NetworkPortAdapter Enables basic setup of a network interface for a jmrix implementation.PortAdapter Enables basic setup of a interface for a jmrix implementation.ProgrammingTool An interface to allow for "callback" operations to open a symbolic programmer from connection tools.SerialPort Serial portSerialPortAdapter Enable basic setup of a serial interface for a jmrix implementation.SerialPortDataListener Serial port listenerSerialPortEvent Serial port eventStreamConnectionConfig Interface for objects that handle configuring a layout connection. -
Class Summary Class Description AbstractConnectionConfig Abstract base class for common implementation of the ConnectionConfig.AbstractConnectionConfig.Option AbstractLoaderPane Pane for downloading .hex files and .dmf files to those LocoNet devices which support firmware updates via LocoNet IPL messages.AbstractMessage Base for various message implementations used by the various abstract TrafficController classes.AbstractMonFrame Abstract base class for Frames displaying communications monitor information.AbstractMonPane Abstract base class for JPanels displaying communications monitor information.AbstractMRMessage Abstract base class for messages in a message/reply protocol.AbstractMRNodeTrafficController Abstract Traffic Controller base class for those implementations that track a set of nodes.AbstractMRReply Abstract base class for replies in a message/reply protocol.AbstractMRTrafficController Abstract base for TrafficControllers in a Message/Reply protocol.AbstractMRTrafficController.RcvNotifier Internal class to remember the Reply object and destination listener with a reply is received.AbstractMRTrafficController.XmtNotifier Internal class to remember the Message object and destination listener when a message is queued for notification.AbstractNetworkConnectionConfig Abstract base class for common implementation of the NetworkConnectionConfig.AbstractNetworkPortController Enables basic setup of a network client interface for a jmrix implementation.AbstractNode Basic implementation of a node for JMRI protocol support.AbstractPortController Provide an abstract base for *PortController classes.AbstractPortController.Option AbstractProgrammer Common implementations for the Programmer interface.AbstractProgrammerFacade Common implementations of the Programmer interface for making Programmer facade classes.AbstractSerialConnectionConfig Abstract base class for common implementation of the SerialConnectionConfig.AbstractSerialPortController Provide an abstract base for *PortController classes.AbstractSimulatorConnectionConfig Abstract base class for common implementation of the Simulator ConnectionConfig.AbstractStreamConnectionConfig Abstract base class for common implementation of the Stream Port ConnectionConfigAbstractStreamPortController Provide an abstract implementation of a *StreamPortController for stream based ports.AbstractThrottle An abstract implementation of DccThrottle.AbstractThrottleManager Abstract implementation of a ThrottleManager.AbstractThrottleManager.Addresses This subClass keeps track of which loco address have been requested and by whom.AbstractThrottleManager.WaitingThrottle AbstractUsbConnectionConfig Abstract base class for common implementation of the ConnectionConfigActiveSystemsMenu Create a "Systems" menu containing as submenus the JMRI system-specific menus for available systems.Bundle CaptiveSystemConnectionMemo 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 ThisSystemConnectionMemo
implementation is meant to handle these by providing connection memo services without being connected to a particular system instantiation.ConnectionConfigManager Manager for ConnectionConfig objects.ConnectionStatus Interface for classes that wish to get notification when the connection to the layout changes.DefaultSystemConnectionMemo Lightweight abstract class to denote that a system is active, and provide general information.JmrixConfigPane Provide GUI to configure communications links.NetMessage Represents a single general command or response.OtherConnectionTypeList Return a list of valid Connection Types.ReplaceableInputStream An input stream where the stream can be replaced on the fly.ReplaceableOutputStream An output stream where the stream can be replaced on the fly.ResourceBundleStartupActionFactory Create a factory of startup actions from a ResourceBundle.SystemConnectionMemoManager Manager for SystemConnectionMemos.UsbPortAdapter Enables basic setup of a USB interface for a jmrix implementation. -
Enum Summary Enum Description AbstractPortController.Option.Type AbstractSerialPortController.Blocking Enumerate the possible timeout choicesAbstractSerialPortController.FlowControl Enumerate the possible flow control choicesSerialPort.Parity Enumerate the possible parity choices -
Exception Summary Exception Description NetworkConfigException Represents a failure during the configuration of a serial port, typically via a NetworkPortAdapter interface.SerialConfigException Represents a failure during the configuration of a serial port, typically via a SerialPortAdapter interface.