Skip navigation links

JMRI Library API

JMRI consists of the jmri package of basic interfaces, the jmri.jmrix package of external layout interfaces, the jmri.jmrit package of system-independent tools, plus various utility and test packages.

See: Description

Core 
Package Description
jmri
Provides basic interfaces and certain core implementations for the JMRI layout management concepts.
Cross-system Tools 
Package Description
jmri.jmrit
Various non-system-specific JMRI tools.
jmri.jmrit.ampmeter
Provide a simple GUI for a Current Meter that displays the current as a % of max via LCD characters
jmri.jmrit.analogclock  
jmri.jmrit.audio
Provides specific implementations of various audio systems
jmri.jmrit.audio.configurexml  
jmri.jmrit.audio.swing
Provides Swing-specific implementations of various audio systems.
jmri.jmrit.automat
Classes to ease creation of layout automation, particularly signaling.
jmri.jmrit.automat.monitor
Classes to provide a GUI for manipulating the running Automat instances.
jmri.jmrit.beantable
Provides table GUI for manipulating NamedBean objects: Turnouts, Sensors, SignalHeads.
jmri.jmrit.beantable.beanedit  
jmri.jmrit.beantable.oblock  
jmri.jmrit.beantable.sensor  
jmri.jmrit.beantable.signalmast  
jmri.jmrit.beantable.usermessagepreferences  
jmri.jmrit.blockboss
Provides a very simple vital signal logic for use in JMRI programs.
jmri.jmrit.blockboss.configurexml
XML persistance for the jmrit.blockboss package.
jmri.jmrit.cabsignals  
jmri.jmrit.catalog
Provides a tree-based catalog for browsing.
jmri.jmrit.catalog.configurexml  
jmri.jmrit.conditional  
jmri.jmrit.consisttool  
jmri.jmrit.ctc
Implements CTC Run Time.
jmri.jmrit.ctc.ctcserialdata  
jmri.jmrit.ctc.editor
Implements the CTC Editor for the creation and maintenance of the CTC data.
jmri.jmrit.ctc.editor.code  
jmri.jmrit.ctc.editor.gui  
jmri.jmrit.decoderdefn
Decoder definitions via XML, including the decoder index.
jmri.jmrit.dispatcher  
jmri.jmrit.display
Provides control panel and associated visible icon classes.
jmri.jmrit.display.configurexml
XML persistance for the jmri.jmrit.display package
jmri.jmrit.display.controlPanelEditor  
jmri.jmrit.display.controlPanelEditor.configurexml  
jmri.jmrit.display.controlPanelEditor.shape  
jmri.jmrit.display.controlPanelEditor.shape.configurexml  
jmri.jmrit.display.layoutEditor  
jmri.jmrit.display.layoutEditor.blockRoutingTable  
jmri.jmrit.display.layoutEditor.configurexml  
jmri.jmrit.display.palette
Select from palette of items Related Documentation UML State diagram
jmri.jmrit.display.panelEditor  
jmri.jmrit.display.panelEditor.configurexml  
jmri.jmrit.display.switchboardEditor  
jmri.jmrit.display.switchboardEditor.configurexml  
jmri.jmrit.dualdecoder  
jmri.jmrit.entryexit
Implements Entry/Exit ( NX ) dispatching using Layout Editor panels.
jmri.jmrit.entryexit.configurexml  
jmri.jmrit.jython  
jmri.jmrit.lcdclock
Provide a simple GUI for a clock that displays the time via LCD characters
jmri.jmrit.log  
jmri.jmrit.logix  
jmri.jmrit.logix.configurexml  
jmri.jmrit.mailreport
Provides a tool for sending a formatted debugging information to a mailing list, which will archive/forward/process it
jmri.jmrit.mastbuilder  
jmri.jmrit.nixieclock
Provide a simple GUI for a clock that displays the time via Nixie tubes
jmri.jmrit.operations  
jmri.jmrit.operations.automation  
jmri.jmrit.operations.automation.actions  
jmri.jmrit.operations.locations  
jmri.jmrit.operations.locations.schedules  
jmri.jmrit.operations.locations.tools  
jmri.jmrit.operations.rollingstock  
jmri.jmrit.operations.rollingstock.cars  
jmri.jmrit.operations.rollingstock.cars.tools  
jmri.jmrit.operations.rollingstock.engines  
jmri.jmrit.operations.rollingstock.engines.tools  
jmri.jmrit.operations.router  
jmri.jmrit.operations.routes  
jmri.jmrit.operations.setup  
jmri.jmrit.operations.trains  
jmri.jmrit.operations.trains.configurexml  
jmri.jmrit.operations.trains.excel  
jmri.jmrit.operations.trains.schedules  
jmri.jmrit.operations.trains.tools  
jmri.jmrit.picker  
jmri.jmrit.powerpanel  
jmri.jmrit.progsupport
Provides helpful panels and GUI widgets for working with JMRI Programmer and ProgrammerManager classes
jmri.jmrit.revhistory  
jmri.jmrit.revhistory.configurexml  
jmri.jmrit.revhistory.swing  
jmri.jmrit.roster  
jmri.jmrit.roster.configurexml  
jmri.jmrit.roster.rostergroup  
jmri.jmrit.roster.swing  
jmri.jmrit.roster.swing.attributetable  
jmri.jmrit.roster.swing.rostergroup  
jmri.jmrit.roster.swing.rostertree
Provides the roster as JTree nodes in various ways.
jmri.jmrit.roster.swing.speedprofile  
jmri.jmrit.sample
Provides a sample of a minimal user-added package To create a sample object which you can then store in a penal file and reload, execute import jmri.jmrit.sample; jmri.jmrit.sample.SampleFunctionalClass("Content!")
jmri.jmrit.sample.configurexml  
jmri.jmrit.sample.swing  
jmri.jmrit.sendpacket  
jmri.jmrit.sensorgroup  
jmri.jmrit.signalling  
jmri.jmrit.simpleclock
Contains a simple FastClock implementation based on the computers clock.
jmri.jmrit.simpleclock.configurexml  
jmri.jmrit.simplelightctrl  
jmri.jmrit.simpleprog  
jmri.jmrit.simpleturnoutctrl  
jmri.jmrit.sound  
jmri.jmrit.speedometer  
jmri.jmrit.symbolicprog
Basic support for advanced programming, primarily used by DecoderPro.
jmri.jmrit.symbolicprog.autospeed  
jmri.jmrit.symbolicprog.configurexml
XML persistance for the jmri.jmrit.symbolicprog package
jmri.jmrit.symbolicprog.tabbedframe  
jmri.jmrit.throttle  
jmri.jmrit.timetable
Define the timetable data records and implement a data manager.
jmri.jmrit.timetable.configurexml
Implements Timetable data loading and storing.
jmri.jmrit.timetable.swing
Implements Timetable creation, maintenance and displaying a timetable graph.
jmri.jmrit.tracker
Provides support for tracking trains as they move around a layout
jmri.jmrit.turnoutoperations  
jmri.jmrit.ussctc
Support for implementing USS CTC systems in JMRI.
jmri.jmrit.vsdecoder
Provides throttle-controlled locomotive sound simulation without the need of an on-board sound decoder.
jmri.jmrit.vsdecoder.listener  
jmri.jmrit.vsdecoder.swing  
jmri.jmrit.withrottle  
Applications 
Package Description
apps
Provides application level support for JMRI; includes specific applications in subpackages.
apps.DecoderPro
The DecoderPro JMRI application.
apps.DispatcherPro
The DispatcherPro JMRI application.
apps.gui  
apps.gui3
The gui3 package provides basic function for JMRI applications that use the new "Gui3" user interface first seen in the updated DecoderPro (formerly known as DecoderPro3).
apps.gui3.dp3  
apps.gui3.mdi  
apps.gui3.paned
Provide the GUI3 "paned", IDE-like, user interface.
apps.gui3.tabbedpreferences  
apps.InstallTest
The InstallTest JMRI application.
apps.PanelPro
The PanelPro JMRI application.
apps.SoundPro
The SoundPro JMRI application.
apps.startup  
apps.startup.configurexml  
apps.systemconsole  
apps.TrainCrew
JMRI support for the TrainCrew application.
Implementations 
Package Description
jmri.implementation
Provides implementations of various JMRI interfaces.
jmri.implementation.configurexml  
jmri.implementation.swing
Provides Swing-specific implementations of various JMRI interfaces.
jmri.managers
Provides implementations of various JMRI managers.
jmri.managers.configurexml  
jmri.progdebugger
A simple implementation of Programmer for debugging purposes.
Utilities 
Package Description
jmri.util
Contains various utilities classes that are useful across the entire JMRI library structure.
jmri.util.com
Holds utility classes imported to JMRI from other locations.
jmri.util.com.dictiography.collections  
jmri.util.com.rbnb  
jmri.util.com.sun  
jmri.util.datatransfer  
jmri.util.davidflanagan  
jmri.util.docbook
Provides classes and XML read/write support for DocBook, as used by JMRI.
jmri.util.docbook.configurexml  
jmri.util.exceptionhandler
Provides general exception handlers that work with Log4J.
jmri.util.iharder.dnd  
jmri.util.javamail  
jmri.util.javaworld  
jmri.util.jdom
Provides JDOM-based utilities for XML processing.
jmri.util.node
Provides a unique network identity for JMRI instances.
jmri.util.prefs
This package provides two mechanisms for storing preferences and one mechanism for storing user interface state within a JMRI profile: JmriConfigurationProvider Complex preferences within an XML element provided by the object storing and retrieving the element.
jmri.util.swing
Tools and utilities for doing a systematic reworking of the JMRI GUI.
jmri.util.swing.mdi
Tools and utilities for providing a multi-document interface for a JMRI application.
jmri.util.swing.multipane
Tools and utilities for providing a multi-pane interface for a JMRI application.
jmri.util.swing.sdi
Tools and utilities for providing the traditional "single document" interface for a JMRI application.
jmri.util.table  
jmri.util.usb  
jmri.util.xml  
jmri.util.zeroconf
Provides utilities and classes for Zeroconf/Bonjour networking.
XML persistance 
Package Description
apps.configurexml  
jmri.configurexml
Provides an XML-based mechanism for storing and restoring configurations.
jmri.configurexml.swing  
jmri.configurexml.turnoutoperations  
Web Services 
Package Description
jmri.web  
jmri.web.server  
jmri.web.servlet  
jmri.web.servlet.about  
jmri.web.servlet.config  
jmri.web.servlet.directory  
jmri.web.servlet.frameimage
A servlet to provide access to any open JMRI window.
jmri.web.servlet.home  
jmri.web.servlet.json  
jmri.web.servlet.operations  
jmri.web.servlet.panel  
jmri.web.servlet.roster  
jmri.web.servlet.simple  
jmri.web.servlet.tables  
Interface Server Support 
Package Description
jmri.jmris
Server implementation for the JMRI interfaces.
jmri.jmris.json
The JMRI JSON Protocol supports the interrogation and control of a JMRI application.
jmri.jmris.simpleserver  
jmri.jmris.simpleserver.parser
The contents of this package are automatically generated (except for the SRCPVistor class).
jmri.jmris.srcp
Contains a SRCP protocol parser to be built with the Java Compiler Compiler (JavaCC).
jmri.jmris.srcp.parser
The contents of this package are automatically generated (except for the SRCPVistor class).
Layout Connections 
Package Description
jmri.jmrix
Interfaces and implementations for system-specific code.
jmri.jmrix.acela
This package handles communications for the CTI Acela hardware.
jmri.jmrix.acela.acelamon  
jmri.jmrix.acela.configurexml  
jmri.jmrix.acela.nodeconfig  
jmri.jmrix.acela.packetgen  
jmri.jmrix.acela.serialdriver  
jmri.jmrix.acela.serialdriver.configurexml  
jmri.jmrix.acela.swing  
jmri.jmrix.anyma  
jmri.jmrix.anyma.configurexml  
jmri.jmrix.bachrus  
jmri.jmrix.bachrus.serialdriver  
jmri.jmrix.bachrus.serialdriver.configurexml  
jmri.jmrix.bachrus.swing  
jmri.jmrix.can
Defines classes for interfacing to a CAN-based model railway control bus.
jmri.jmrix.can.adapters
Contains packages implementing connections through individual CAN adapter units.
jmri.jmrix.can.adapters.gridconnect
Defines classes for communicating with the CAN network via hardware which uses the GridConnect format.
jmri.jmrix.can.adapters.gridconnect.can2usbino
Defines classes for interfacing to a CAN2USBino CAN adapter
jmri.jmrix.can.adapters.gridconnect.can2usbino.serialdriver
Defines classes for interfacing to a CAN2USBino CAN adapter
jmri.jmrix.can.adapters.gridconnect.can2usbino.serialdriver.configurexml  
jmri.jmrix.can.adapters.gridconnect.canrs
Defines classes for interfacing to a MERG CAN-RS or CAN-USB adapter.
jmri.jmrix.can.adapters.gridconnect.canrs.serialdriver
Defines classes for interfacing to a MERG CAN-RS CAN adpater via an RS-232 line
jmri.jmrix.can.adapters.gridconnect.canrs.serialdriver.configurexml  
jmri.jmrix.can.adapters.gridconnect.canusb.serialdriver
Defines classes for interfacing to a CAN-USB CAN adapter
jmri.jmrix.can.adapters.gridconnect.canusb.serialdriver.configurexml  
jmri.jmrix.can.adapters.gridconnect.lccbuffer.serialdriver
Defines classes for interfacing to a CAN-USB CAN adapter
jmri.jmrix.can.adapters.gridconnect.lccbuffer.serialdriver.configurexml  
jmri.jmrix.can.adapters.gridconnect.net  
jmri.jmrix.can.adapters.gridconnect.net.configurexml  
jmri.jmrix.can.adapters.lawicell
Defines classes for communicating with the CAN network via hardware which uses the Lawicell format
jmri.jmrix.can.adapters.lawicell.canusb.serialdriver
Defines classes for interfacing to a LAWICELL CAN-USB CAN adapter
jmri.jmrix.can.adapters.lawicell.canusb.serialdriver.configurexml  
jmri.jmrix.can.adapters.loopback
Defines classes for simulating communication with a CAN network via loopback
jmri.jmrix.can.adapters.loopback.configurexml  
jmri.jmrix.can.cbus
Defines classes for interfacing to a MERG CBUS network.
jmri.jmrix.can.cbus.configurexml  
jmri.jmrix.can.cbus.eventtable  
jmri.jmrix.can.cbus.node  
jmri.jmrix.can.cbus.simulator  
jmri.jmrix.can.cbus.swing  
jmri.jmrix.can.cbus.swing.cbusslotmonitor  
jmri.jmrix.can.cbus.swing.configtool  
jmri.jmrix.can.cbus.swing.console
Defines classes for a console utility to interact with a MERG CBUS network
jmri.jmrix.can.cbus.swing.eventrequestmonitor
Defines classes for implementing an event table to interact with a MERG CBUS network.
jmri.jmrix.can.cbus.swing.eventtable
Defines classes for implementing an event table to interact with a MERG CBUS network.
jmri.jmrix.can.cbus.swing.nodeconfig  
jmri.jmrix.can.cbus.swing.simulator  
jmri.jmrix.can.nmranet
Defines classes for interfacing to a NMRAnet network.
jmri.jmrix.can.nmranet.swing  
jmri.jmrix.can.swing
Provides Swing-based GUI tools for general CAN connections.
jmri.jmrix.can.swing.monitor  
jmri.jmrix.can.swing.send
Provide a tool for sending CAN packets.
jmri.jmrix.cmri
Provides basic interfaces and certain core implementations for the JMRI C/MRI implementation.
jmri.jmrix.cmri.serial
Provides basic interfaces and certain core implementations for the JMRI C/MRI serial implementation.
jmri.jmrix.cmri.serial.assignment  
jmri.jmrix.cmri.serial.cmrinetmanager  
jmri.jmrix.cmri.serial.cmrinetmetrics  
jmri.jmrix.cmri.serial.configurexml  
jmri.jmrix.cmri.serial.diagnostic  
jmri.jmrix.cmri.serial.networkdriver  
jmri.jmrix.cmri.serial.networkdriver.configurexml  
jmri.jmrix.cmri.serial.nodeconfig  
jmri.jmrix.cmri.serial.nodeconfigmanager  
jmri.jmrix.cmri.serial.nodeiolist  
jmri.jmrix.cmri.serial.packetgen  
jmri.jmrix.cmri.serial.serialdriver  
jmri.jmrix.cmri.serial.serialdriver.configurexml  
jmri.jmrix.cmri.serial.serialmon  
jmri.jmrix.cmri.serial.sim  
jmri.jmrix.cmri.serial.sim.configurexml  
jmri.jmrix.cmri.swing  
jmri.jmrix.configurexml  
jmri.jmrix.dcc
Provides JMRI layout objects that use direct DCC connections.
jmri.jmrix.dcc.configurexml  
jmri.jmrix.dcc4pc  
jmri.jmrix.dcc4pc.configurexml  
jmri.jmrix.dcc4pc.serialdriver  
jmri.jmrix.dcc4pc.serialdriver.configurexml  
jmri.jmrix.dcc4pc.swing  
jmri.jmrix.dcc4pc.swing.boardlists  
jmri.jmrix.dcc4pc.swing.monitor  
jmri.jmrix.dcc4pc.swing.packetgen  
jmri.jmrix.dccpp  
jmri.jmrix.dccpp.configurexml  
jmri.jmrix.dccpp.dccppovertcp
Defines classes for interfacing to a DCC++ Base Station via a telnet connection to a DCCppOverTcp driver.
jmri.jmrix.dccpp.dccppovertcp.configurexml  
jmri.jmrix.dccpp.network  
jmri.jmrix.dccpp.network.configurexml  
jmri.jmrix.dccpp.serial  
jmri.jmrix.dccpp.serial.configurexml  
jmri.jmrix.dccpp.simulator  
jmri.jmrix.dccpp.simulator.configurexml  
jmri.jmrix.dccpp.swing  
jmri.jmrix.dccpp.swing.mon  
jmri.jmrix.dccpp.swing.packetgen  
jmri.jmrix.debugthrottle  
jmri.jmrix.direct  
jmri.jmrix.direct.serial  
jmri.jmrix.direct.serial.configurexml  
jmri.jmrix.direct.simulator  
jmri.jmrix.direct.simulator.configurexml  
jmri.jmrix.direct.swing  
jmri.jmrix.easydcc  
jmri.jmrix.easydcc.configurexml  
jmri.jmrix.easydcc.easydccmon  
jmri.jmrix.easydcc.networkdriver  
jmri.jmrix.easydcc.networkdriver.configurexml  
jmri.jmrix.easydcc.packetgen  
jmri.jmrix.easydcc.serialdriver  
jmri.jmrix.easydcc.serialdriver.configurexml  
jmri.jmrix.easydcc.simulator  
jmri.jmrix.easydcc.simulator.configurexml  
jmri.jmrix.easydcc.swing  
jmri.jmrix.ecos
Support for the ESU ECoS.
jmri.jmrix.ecos.configurexml  
jmri.jmrix.ecos.networkdriver  
jmri.jmrix.ecos.networkdriver.configurexml  
jmri.jmrix.ecos.swing  
jmri.jmrix.ecos.swing.locodatabase  
jmri.jmrix.ecos.swing.monitor  
jmri.jmrix.ecos.swing.packetgen  
jmri.jmrix.ecos.swing.preferences  
jmri.jmrix.ecos.swing.statusframe  
jmri.jmrix.ecos.utilities  
jmri.jmrix.grapevine
This package handles communications for the ProTrak Grapevine hardware.
jmri.jmrix.grapevine.configurexml  
jmri.jmrix.grapevine.nodeconfig  
jmri.jmrix.grapevine.nodetable  
jmri.jmrix.grapevine.packetgen  
jmri.jmrix.grapevine.serialdriver  
jmri.jmrix.grapevine.serialdriver.configurexml  
jmri.jmrix.grapevine.serialmon  
jmri.jmrix.grapevine.simulator  
jmri.jmrix.grapevine.simulator.configurexml  
jmri.jmrix.grapevine.swing  
jmri.jmrix.ieee802154  
jmri.jmrix.ieee802154.serialdriver  
jmri.jmrix.ieee802154.serialdriver.configurexml  
jmri.jmrix.ieee802154.swing  
jmri.jmrix.ieee802154.swing.mon  
jmri.jmrix.ieee802154.swing.nodeconfig  
jmri.jmrix.ieee802154.swing.packetgen  
jmri.jmrix.ieee802154.xbee  
jmri.jmrix.ieee802154.xbee.configurexml  
jmri.jmrix.ieee802154.xbee.swing  
jmri.jmrix.ieee802154.xbee.swing.nodeconfig  
jmri.jmrix.ieee802154.xbee.swing.packetgen  
jmri.jmrix.internal
The jmrix.internal package contains a JMRI connection implementation for use without a layout.
jmri.jmrix.internal.configurexml  
jmri.jmrix.jinput
Access to USB input devices via JInput.
jmri.jmrix.jinput.treecontrol
GUI for controlling JInput access to USB devices.
jmri.jmrix.jmriclient  
jmri.jmrix.jmriclient.configurexml  
jmri.jmrix.jmriclient.networkdriver  
jmri.jmrix.jmriclient.networkdriver.configurexml  
jmri.jmrix.jmriclient.swing  
jmri.jmrix.jmriclient.swing.mon  
jmri.jmrix.jmriclient.swing.packetgen  
jmri.jmrix.lenz  
jmri.jmrix.lenz.configurexml  
jmri.jmrix.lenz.hornbyelite  
jmri.jmrix.lenz.hornbyelite.configurexml  
jmri.jmrix.lenz.li100  
jmri.jmrix.lenz.li100.configurexml  
jmri.jmrix.lenz.li100f  
jmri.jmrix.lenz.li100f.configurexml  
jmri.jmrix.lenz.li101  
jmri.jmrix.lenz.li101.configurexml  
jmri.jmrix.lenz.liusb  
jmri.jmrix.lenz.liusb.configurexml  
jmri.jmrix.lenz.liusbethernet  
jmri.jmrix.lenz.liusbethernet.configurexml  
jmri.jmrix.lenz.liusbserver  
jmri.jmrix.lenz.liusbserver.configurexml  
jmri.jmrix.lenz.swing  
jmri.jmrix.lenz.swing.li101  
jmri.jmrix.lenz.swing.liusb  
jmri.jmrix.lenz.swing.lv102  
jmri.jmrix.lenz.swing.lz100  
jmri.jmrix.lenz.swing.lzv100  
jmri.jmrix.lenz.swing.mon  
jmri.jmrix.lenz.swing.packetgen  
jmri.jmrix.lenz.swing.stackmon  
jmri.jmrix.lenz.swing.systeminfo  
jmri.jmrix.lenz.xnetsimulator  
jmri.jmrix.lenz.xnetsimulator.configurexml  
jmri.jmrix.lenz.xntcp  
jmri.jmrix.lenz.xntcp.configurexml  
jmri.jmrix.lenz.ztc640  
jmri.jmrix.lenz.ztc640.configurexml  
jmri.jmrix.libusb  
jmri.jmrix.loconet
Provides access to LocoNet systems, along with a lot of Swing-based tools.
jmri.jmrix.loconet.bdl16  
jmri.jmrix.loconet.bluetooth  
jmri.jmrix.loconet.bluetooth.configurexml  
jmri.jmrix.loconet.clockmon  
jmri.jmrix.loconet.cmdstnconfig  
jmri.jmrix.loconet.configurexml  
jmri.jmrix.loconet.downloader  
jmri.jmrix.loconet.ds64  
jmri.jmrix.loconet.duplexgroup  
jmri.jmrix.loconet.duplexgroup.swing  
jmri.jmrix.loconet.hexfile  
jmri.jmrix.loconet.hexfile.configurexml  
jmri.jmrix.loconet.Intellibox
Implementation and specialization for connecting to to an Uhlenbrock Intellibox-I via its in-built RS232 serial connection.
jmri.jmrix.loconet.Intellibox.configurexml  
jmri.jmrix.loconet.lnsvf2  
jmri.jmrix.loconet.locobuffer  
jmri.jmrix.loconet.locobuffer.configurexml  
jmri.jmrix.loconet.locobufferii  
jmri.jmrix.loconet.locobufferii.configurexml  
jmri.jmrix.loconet.locobufferusb  
jmri.jmrix.loconet.locobufferusb.configurexml  
jmri.jmrix.loconet.locogen  
jmri.jmrix.loconet.locoid  
jmri.jmrix.loconet.locoio  
jmri.jmrix.loconet.locomon  
jmri.jmrix.loconet.loconetovertcp
JMRI implementation of the LocoNet over TCP protocol.
jmri.jmrix.loconet.loconetovertcp.configurexml  
jmri.jmrix.loconet.locormi  
jmri.jmrix.loconet.locormi.configurexml  
jmri.jmrix.loconet.locostats  
jmri.jmrix.loconet.locostats.swing  
jmri.jmrix.loconet.messageinterp  
jmri.jmrix.loconet.ms100  
jmri.jmrix.loconet.ms100.configurexml  
jmri.jmrix.loconet.pm4  
jmri.jmrix.loconet.pr2  
jmri.jmrix.loconet.pr2.configurexml  
jmri.jmrix.loconet.pr3  
jmri.jmrix.loconet.pr3.configurexml  
jmri.jmrix.loconet.pr3.swing  
jmri.jmrix.loconet.pr4  
jmri.jmrix.loconet.pr4.configurexml  
jmri.jmrix.loconet.pr4.swing  
jmri.jmrix.loconet.sdf
Support for reading and writing Digitrax SDF (Sound Definition Format) information, particularly in Digitrax Sound Definition Project (SDF) files.
jmri.jmrix.loconet.sdfeditor
Provide GUI tools for editing an SDF file in memory.
jmri.jmrix.loconet.se8  
jmri.jmrix.loconet.slotmon  
jmri.jmrix.loconet.soundloader  
jmri.jmrix.loconet.spjfile
Provides support for reading and writing of the Digitrax SPJ file format.
jmri.jmrix.loconet.streamport  
jmri.jmrix.loconet.streamport.configurexml  
jmri.jmrix.loconet.swing  
jmri.jmrix.loconet.swing.throttlemsg
A LocoNet-specific tool for sending messages to throttles.
jmri.jmrix.loconet.uhlenbrock
Implementation and specialization for connecting to to an Uhlenbrock Intellibox-II via its in-built USB connection.
jmri.jmrix.loconet.uhlenbrock.configurexml  
jmri.jmrix.loconet.usb_dcs240  
jmri.jmrix.loconet.usb_dcs240.configurexml  
jmri.jmrix.loconet.usb_dcs240.swing  
jmri.jmrix.loconet.usb_dcs52  
jmri.jmrix.loconet.usb_dcs52.configurexml  
jmri.jmrix.loconet.usb_dcs52.swing  
jmri.jmrix.maple  
jmri.jmrix.maple.assignment  
jmri.jmrix.maple.configurexml  
jmri.jmrix.maple.nodeconfig  
jmri.jmrix.maple.packetgen  
jmri.jmrix.maple.serialdriver  
jmri.jmrix.maple.serialdriver.configurexml  
jmri.jmrix.maple.serialmon  
jmri.jmrix.maple.simulator  
jmri.jmrix.maple.simulator.configurexml  
jmri.jmrix.maple.swing  
jmri.jmrix.marklin  
jmri.jmrix.marklin.configurexml  
jmri.jmrix.marklin.networkdriver  
jmri.jmrix.marklin.networkdriver.configurexml  
jmri.jmrix.marklin.swing  
jmri.jmrix.marklin.swing.monitor  
jmri.jmrix.marklin.swing.packetgen  
jmri.jmrix.merg  
jmri.jmrix.mqtt
Provides JMRI layout objects that use MQTT connections.
jmri.jmrix.mqtt.configurexml  
jmri.jmrix.mrc  
jmri.jmrix.mrc.configurexml  
jmri.jmrix.mrc.serialdriver  
jmri.jmrix.mrc.serialdriver.configurexml  
jmri.jmrix.mrc.simulator  
jmri.jmrix.mrc.simulator.configurexml  
jmri.jmrix.mrc.swing  
jmri.jmrix.mrc.swing.monitor  
jmri.jmrix.mrc.swing.packetgen  
jmri.jmrix.nce  
jmri.jmrix.nce.boosterprog  
jmri.jmrix.nce.cab  
jmri.jmrix.nce.clockmon  
jmri.jmrix.nce.configurexml  
jmri.jmrix.nce.consist  
jmri.jmrix.nce.macro  
jmri.jmrix.nce.ncemon  
jmri.jmrix.nce.networkdriver  
jmri.jmrix.nce.networkdriver.configurexml  
jmri.jmrix.nce.packetgen  
jmri.jmrix.nce.serialdriver  
jmri.jmrix.nce.serialdriver.configurexml  
jmri.jmrix.nce.simulator  
jmri.jmrix.nce.simulator.configurexml  
jmri.jmrix.nce.swing  
jmri.jmrix.nce.usbdriver  
jmri.jmrix.nce.usbdriver.configurexml  
jmri.jmrix.nce.usbinterface  
jmri.jmrix.ncemonitor  
jmri.jmrix.oaktree  
jmri.jmrix.oaktree.configurexml  
jmri.jmrix.oaktree.nodeconfig  
jmri.jmrix.oaktree.packetgen  
jmri.jmrix.oaktree.serialdriver  
jmri.jmrix.oaktree.serialdriver.configurexml  
jmri.jmrix.oaktree.serialmon  
jmri.jmrix.oaktree.simulator  
jmri.jmrix.oaktree.simulator.configurexml  
jmri.jmrix.oaktree.swing  
jmri.jmrix.openlcb
Implementation of the JMRI OpenLCB hardware interface.
jmri.jmrix.openlcb.configurexml  
jmri.jmrix.openlcb.swing
Head package for Swing-based packages for JMRI's OpenLCB implementation.
jmri.jmrix.openlcb.swing.clockmon  
jmri.jmrix.openlcb.swing.downloader
Provides a download (bootload) tool for OpenLCB nodes.
jmri.jmrix.openlcb.swing.hub  
jmri.jmrix.openlcb.swing.monitor  
jmri.jmrix.openlcb.swing.networktree  
jmri.jmrix.openlcb.swing.protocoloptions  
jmri.jmrix.openlcb.swing.send
Provide a developer tool for sending OpenLCB CAN packets.
jmri.jmrix.openlcb.swing.tie
Package provides a producer-consumer-event configuration tool using Swing.
jmri.jmrix.pi  
jmri.jmrix.pi.configurexml  
jmri.jmrix.powerline
This package handles communications for powerline adapters, such as X10.
jmri.jmrix.powerline.cm11
This package handles communications for CM11 powerline adapters.
jmri.jmrix.powerline.cm11.configurexml  
jmri.jmrix.powerline.configurexml  
jmri.jmrix.powerline.cp290
This package handles communications for CP290 powerline adapters.
jmri.jmrix.powerline.cp290.configurexml  
jmri.jmrix.powerline.insteon2412s
This package handles communications for Insteon 2412S adapters.
jmri.jmrix.powerline.insteon2412s.configurexml  
jmri.jmrix.powerline.serialdriver  
jmri.jmrix.powerline.serialdriver.configurexml  
jmri.jmrix.powerline.simulator  
jmri.jmrix.powerline.simulator.configurexml  
jmri.jmrix.powerline.swing  
jmri.jmrix.powerline.swing.packetgen  
jmri.jmrix.powerline.swing.serialmon  
jmri.jmrix.pricom  
jmri.jmrix.pricom.downloader  
jmri.jmrix.pricom.pockettester  
jmri.jmrix.qsi
Connects to a QSI programmer unit.
jmri.jmrix.qsi.packetgen  
jmri.jmrix.qsi.qsimon  
jmri.jmrix.qsi.serialdriver  
jmri.jmrix.qsi.serialdriver.configurexml  
jmri.jmrix.qsi.swing  
jmri.jmrix.rfid
This package handles communications for RFID adapters
jmri.jmrix.rfid.configurexml  
jmri.jmrix.rfid.generic.standalone
This package handles communications for Generic RFID stand-alone readers
jmri.jmrix.rfid.generic.standalone.configurexml  
jmri.jmrix.rfid.merg.concentrator
This package handles communications for MERG RFID Concentrators
jmri.jmrix.rfid.merg.concentrator.configurexml  
jmri.jmrix.rfid.networkdriver  
jmri.jmrix.rfid.networkdriver.configurexml  
jmri.jmrix.rfid.protocol.coreid
This package holds objects specific to the RFID stand-alone readers that use the CORE-ID / ID-Innovations protocol.
jmri.jmrix.rfid.protocol.em18
This package holds objects specific to the RFID stand-alone readers that use the EM-18 protocol.
jmri.jmrix.rfid.protocol.olimex
This package holds objects specific to the RFID stand-alone readers that use an Olimex protocol.
jmri.jmrix.rfid.protocol.parallax
This package holds objects specific to the RFID stand-alone readers that use the Parallax protocol.
jmri.jmrix.rfid.protocol.seeedstudio
This package holds objects specific to the RFID stand-alone readers that use the SeeedStudio RDM630 protocol.
jmri.jmrix.rfid.serialdriver  
jmri.jmrix.rfid.serialdriver.configurexml  
jmri.jmrix.rfid.swing  
jmri.jmrix.rfid.swing.serialmon  
jmri.jmrix.roco  
jmri.jmrix.roco.z21  
jmri.jmrix.roco.z21.configurexml  
jmri.jmrix.roco.z21.simulator  
jmri.jmrix.roco.z21.simulator.configurexml  
jmri.jmrix.roco.z21.swing  
jmri.jmrix.roco.z21.swing.configtool  
jmri.jmrix.roco.z21.swing.mon  
jmri.jmrix.roco.z21.swing.packetgen  
jmri.jmrix.rps
This package contains software specific to the RPS system from NAC Services, Inc.
jmri.jmrix.rps.aligntable
Provide access to alignment information via a table interface.
jmri.jmrix.rps.configurexml  
jmri.jmrix.rps.reversealign  
jmri.jmrix.rps.rpsmon  
jmri.jmrix.rps.serial  
jmri.jmrix.rps.serial.configurexml  
jmri.jmrix.rps.swing
Contains Swing-dependent RPS tools.
jmri.jmrix.rps.swing.debugger
Provides a GUI for various RPS debugging activities.
jmri.jmrix.rps.swing.polling
Provides a control panel frame for operating the RPS support.
jmri.jmrix.rps.swing.soundset
Provides a GUI for controlling an automatic sound calculation
jmri.jmrix.rps.trackingpanel
This package creates the "Tracking Display" tool for RPS
jmri.jmrix.secsi
This package handles communications for the TracTronics SECSI hardware.
jmri.jmrix.secsi.configurexml  
jmri.jmrix.secsi.nodeconfig  
jmri.jmrix.secsi.packetgen  
jmri.jmrix.secsi.serialdriver  
jmri.jmrix.secsi.serialdriver.configurexml  
jmri.jmrix.secsi.serialmon  
jmri.jmrix.secsi.simulator  
jmri.jmrix.secsi.simulator.configurexml  
jmri.jmrix.secsi.swing  
jmri.jmrix.serialsensor  
jmri.jmrix.sprog  
jmri.jmrix.sprog.configurexml  
jmri.jmrix.sprog.console  
jmri.jmrix.sprog.packetgen  
jmri.jmrix.sprog.pi  
jmri.jmrix.sprog.pi.pisprognano  
jmri.jmrix.sprog.pi.pisprognano.configurexml  
jmri.jmrix.sprog.pi.pisprogone  
jmri.jmrix.sprog.pi.pisprogone.configurexml  
jmri.jmrix.sprog.pi.pisprogonecs  
jmri.jmrix.sprog.pi.pisprogonecs.configurexml  
jmri.jmrix.sprog.serialdriver  
jmri.jmrix.sprog.serialdriver.configurexml  
jmri.jmrix.sprog.simulator  
jmri.jmrix.sprog.simulator.configurexml  
jmri.jmrix.sprog.sprog  
jmri.jmrix.sprog.sprog.configurexml  
jmri.jmrix.sprog.sprogCS  
jmri.jmrix.sprog.sprogCS.configurexml  
jmri.jmrix.sprog.sprogmon  
jmri.jmrix.sprog.sprognano  
jmri.jmrix.sprog.sprognano.configurexml  
jmri.jmrix.sprog.sprogslotmon  
jmri.jmrix.sprog.swing  
jmri.jmrix.sprog.update  
jmri.jmrix.srcp
Provide a JMRI connection to an SRCP server.
jmri.jmrix.srcp.configurexml  
jmri.jmrix.srcp.networkdriver  
jmri.jmrix.srcp.networkdriver.configurexml  
jmri.jmrix.srcp.parser
The contents of this package are automatically generated (except for the SRCPVistor class).
jmri.jmrix.srcp.swing  
jmri.jmrix.srcp.swing.packetgen  
jmri.jmrix.srcp.swing.srcpmon  
jmri.jmrix.swing  
jmri.jmrix.tams
Support for the ESU ECoS.
jmri.jmrix.tams.configurexml  
jmri.jmrix.tams.serialdriver  
jmri.jmrix.tams.serialdriver.configurexml  
jmri.jmrix.tams.simulator  
jmri.jmrix.tams.simulator.configurexml  
jmri.jmrix.tams.swing  
jmri.jmrix.tams.swing.locodatabase  
jmri.jmrix.tams.swing.monitor  
jmri.jmrix.tams.swing.packetgen  
jmri.jmrix.tams.swing.statusframe  
jmri.jmrix.tmcc  
jmri.jmrix.tmcc.configurexml  
jmri.jmrix.tmcc.packetgen  
jmri.jmrix.tmcc.serialdriver  
jmri.jmrix.tmcc.serialdriver.configurexml  
jmri.jmrix.tmcc.serialmon  
jmri.jmrix.tmcc.simulator  
jmri.jmrix.tmcc.simulator.configurexml  
jmri.jmrix.tmcc.swing  
jmri.jmrix.wangrow
Provides JMRI implementations for Wangrow DCC systems.
jmri.jmrix.wangrow.serialdriver  
jmri.jmrix.wangrow.serialdriver.configurexml  
jmri.jmrix.xpa  
jmri.jmrix.xpa.configurexml  
jmri.jmrix.xpa.serialdriver  
jmri.jmrix.xpa.serialdriver.configurexml  
jmri.jmrix.xpa.swing  
jmri.jmrix.xpa.swing.packetgen  
jmri.jmrix.xpa.swing.xpaconfig  
jmri.jmrix.xpa.swing.xpamon  
jmri.jmrix.zimo  
jmri.jmrix.zimo.mx1  
jmri.jmrix.zimo.mx1.configurexml  
jmri.jmrix.zimo.mxulf  
jmri.jmrix.zimo.mxulf.configurexml  
jmri.jmrix.zimo.swing  
jmri.jmrix.zimo.swing.monitor  
jmri.jmrix.zimo.swing.packetgen  
jmri.jmrix.ztc  
jmri.jmrix.ztc.ztc611  
jmri.jmrix.ztc.ztc611.configurexml  
Other Packages 
Package Description
jmri.beans  
jmri.plaf.macosx
This package provides OS X Desktop compatibility with the Aqua user interface.
jmri.profile
JMRI profile management.
jmri.script  
jmri.server  
jmri.server.json
The JMRI JSON Services provide access to JMRI via JSON data objects via a RESTful interface over HTTP or via JSON messages via a socket interface over TCP or WebSockets.
jmri.server.json.block  
jmri.server.json.consist  
jmri.server.json.layoutblock  
jmri.server.json.light  
jmri.server.json.memory  
jmri.server.json.message
The JMRI JSON protocol message server.
jmri.server.json.operations  
jmri.server.json.power
The JMRI JSON protocol power server.
jmri.server.json.reporter  
jmri.server.json.roster  
jmri.server.json.route  
jmri.server.json.schema  
jmri.server.json.sensor  
jmri.server.json.signalHead  
jmri.server.json.signalMast  
jmri.server.json.throttle  
jmri.server.json.time  
jmri.server.json.turnout  
jmri.server.json.util  
jmri.server.web  
jmri.server.web.app  
jmri.server.web.spi  
jmri.spi
Interfaces that can be implemented outside the JMRI.jar file to implement new behavior in JMRI.
jmri.swing
Provides small Swing-based tool and utility classes for JMRI basic forms.
JMRI consists of the jmri package of basic interfaces, the jmri.jmrix package of external layout interfaces, the jmri.jmrit package of system-independent tools, plus various utility and test packages.

The primary JMRI concepts are defined by interfaces in the jmri package. Objects such as Turnouts, Sensors, and SignalHeads can be directly manipulated as analogs of items on the layout.

To get access to these objects, you ask for them from a manager, e.g. a TurnoutManager. The manager can provide an existing object, or create a new one of the needed concrete type.

To find the managers, you start with the static members in the InstanceManager class.

Skip navigation links

Copyright © 1997-2019 JMRI Community.
JMRI®, DecoderPro®, PanelPro, SignalPro, SoundPro, DispatcherPro, TrainPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by:
Tagadab Logo