@DefaultAnnotation({})

Package jmri

Provides basic interfaces and certain core implementations for the JMRI layout management concepts.

Related Documentation

For overviews, tutorials, examples, guides, and tool documentation, please see:

Note: The class diagram below has been trimmed to not show some redundant (to a superpackage of a superpackage) or patterned (connecting a .configurexml package by convention) to make it more readable.

See Also:
jmri.managers, jmri.implementation
  • Interface Summary 
    Interface Description
    AddressedIdTag
    This interface extends IdTag to include a locomotive address.
    AddressedProgrammer
    Provide access to the hardware DCC decoder programming capability.
    AddressedProgrammerManager
    Get access to available Programmer objects.
    AnalogIO
    Represent an analog I/O on the layout.
    Audio
    Represent an Audio, a place to store or control sound information.
    AudioManager
    Locate an Audio object representing some specific audio information.
    BasicRosterEntry
    BasicRosterEntry represents a single element in a locomotive roster, including information on how to locate it from decoder information.
    CabSignal
    Interface for a Cab Signal Object, describing the state of the track ahead relative to a locomotive with a given address.
    CabSignalListListener
    Allow notification of changes to the cab signal list.
    CabSignalManager
    Interface for CabSignal Manager objects, which provide access to the existing CabSignals and allows for creation and destruction.
    CatalogTree
    Represents a CatalogTree, a tree displaying a taxonomy - e.g. a file system directory, or an index of references or a table of contents built according to the user's taxonomy.
    CatalogTreeManager
    Locate a CatalogTree object representing some specific information.
    ClockControl
    ClockControl defines an interface for control of hardware Fast Clocks
    CollectingReporter
    This is an extension of a reporter device that is capable of collecting multiple reports in a collection.
    CommandStation
    Provide a DCC command station's basic ability: Sending DCC packets to the rails.
    Conditional
    A Conditional is layout control logic, consisting of a logical expression and an action.
    ConditionalAction
    The consequent of the antecedent of the conditional proposition.
    ConditionalManager
    Interface for obtaining Conditionals
    ConfigureManager
    Provide load/store capabilities for general configuration.
    Consist
    Interface for a Consist Object, describing one or more cooperatively-operating locomotives.
    ConsistListener
    Allow notification of delayed consisting errors.
    ConsistListListener
    Allow notification of changes to the consist list.
    ConsistManager
    Interface for Consist Manager objects, which provide access to the existing Consists and allows for creation and destruction.
    DccThrottle
    Provide DCC-specific extensions to Throttle interface.
    DigitalIO
    Represent a digital I/O on the layout.
    Disposable
    Interface that indicates that a class has a Disposable.dispose() method that can be called without arguments.
    ExpectedState<T,​S>
    Record an object and its expected state within a specific scenario.
    FastClock
    Provide access to fast clock capabilities in hardware or software.
    GlobalProgrammerManager
    Get access to available Programmer objects.
    IdTag
    IdTag is a pre-parsed representation of an identification message from the layout.
    IdTagListener
    Connect to an IdTag This file is part of JMRI.
    IdTagManager
    Locate an IdTag object representing a specific IdTag.
    InstanceInitializer
    Interface providing initialization of specific objects by default.
    InstanceManagerAutoDefault
    Interface indicating that the InstanceManager can create an object of this type when needed by a request.
    InstanceManagerAutoInitialize
    Provide a hint to the InstanceManager that this object needs have additional initialization performed after the InstanceManager initially creates it.
    Light
    Represent a single visible Light on the physical layout.
    LightManager
    Interface for obtaining Lights.
    LocoAddress
    Interface for generic Locomotive Address.
    Logix
    A Logix is a group of Conditionals that monitor one or more conditions (internal or on the layout).
    LogixManager
    Interface for obtaining Logixs
    Manager<E extends NamedBean>
    Basic interface for access to named, managed objects.
    Manager.ManagerDataListener<E extends NamedBean>
    Intended to be equivalent to ListDataListener without introducing a Swing dependency into core JMRI.
    Memory
    Represent a Memory, a place to store values.
    MemoryManager
    Locate a Memory object representing some specific information.
    Metadata
    Meta data concerning the JMRI application.
    ModifiedFlag
    Tags objects that remember whether they've been modified and need to be (optionally) stored, for example before the program terminates or when a window closes.
    MultiMeter
    Interface for displaying (and controlling where appropriate) Current, Voltage, and other status data from the layout.
    NamedBean
    Provides common services for classes representing objects on the layout, and allows a common form of access by their Managers.
    PhysicalLocationReporter
    Implements a common way that a Reporter that supports having a Physical Location can report that location to querying objects.
    PowerManager
    Provide controls for layout power.
    ProgListener
    Allow notification of the completion of programming operations.
    Programmer
    Provide access to the hardware DCC decoder programming capability.
    ProvidingManager<E extends NamedBean>
    Extends the Manager class to handle "provide" methods that can create a NamedBean on request from just its system name.
    ProxyManager<B extends NamedBean>
    Interface for Managers of NamedBeans that are proxies for a collection of Managers for the same type of NamedBean.
    RailCom
    RailCom represents a RailCom enabled decoder that might be fitted to a specific piece of rolling stock to uniquely identify it.
    RailCom is a registered trademark of Lenz GmbH.
    RailComManager
    Locate a RailCom Object representing a specific RailCom Enabled device.
    RailCom is a registered trademark of Lenz GmbH.
    Reportable
    This interface specifies that an object provides a report value suitable for display in an on-screen reporter.
    Reporter
    Represent a device that can report identification information.
    ReporterManager
    Locate a Reporter object representing some specific device on the layout.
    Route
    Routes represent a collection of Turnouts that may be set at the same time.
    RouteManager
    Interface for obtaining Routes.
    Sensor
    General input device representation.
    SensorManager
    Interface for controlling sensors.
    ShutDownManager
    Manage tasks to be completed when the program shuts down normally.
    ShutDownTask
    Execute a specific task before the program terminates.
    Signal
    Represent a single signal, either in SignalHead or SignalMast form.
    SignalAppearanceMap
    Access to signal appearance information.
    SignalGroup
    Signal Groups are used to represent European subsidary signals that would be sited with a signal mast.
    SignalGroupManager
    Interface for obtaining information about signal groups.
    SignalHead
    Represent a single signal head.
    SignalHeadManager
    Interface for obtaining signal heads.
    SignalMast
    Represent a signal mast.
    SignalMastLogic
    Generic interface for Signal Mast Logic.
    SignalMastLogicManager  
    SignalMastManager
    Interface for obtaining signal masts.
    SignalSystem
    A SignalSystem defines a signalling system by representing the properties of various signal aspects it contains.
    SignalSystemManager
    Interface for obtaining information about signal systems.
    StringIO
    Represent an string I/O on the layout.
    SystemConnectionMemo
    Lightweight interface denoting that a system is active, and provide general information.
    Throttle
    A Throttle object can be manipulated to change the speed, direction and functions of a single locomotive.
    ThrottleListener
    A listener interface for a class requesting a DccThrottle from the ThrottleManager.
    ThrottleManager
    Interface for allocating Throttle objects.
    Timebase
    Provide access to clock capabilities in hardware or software.
    TimeDisplay
    Provide access to basic functions of a clock face, that displays time in some particular way.
    Turnout
    Represent a Turnout on the layout.
    TurnoutManager
    Locate a Turnout object representing some specific turnout on the layout.
    UserPreferencesManager
    Interface for the User Preferences Manager.
  • Class Summary 
    Class Description
    Application
    A lightweight class that provides a methods to retrieve the current JMRI application name and icon.
    BeanSetting
    Represent a NamedBean (such as a Turnout) and specific desired setting for it.
    Block
    Represents a particular piece of track, more informally a "Block".
    BlockManager
    Basic implementation of a BlockManager.
    BooleanPropertyDescriptor
    Implementation of NamedBeanPropertyDescriptor for true/false properties.
    Bundle
    Provides standard access for resource bundles in a package.
    CatalogTreeLeaf
    Leaf of a CatalogTree.
    CatalogTreeNode
    Node of a CatalogTree.
    CommonTurnoutOperation
    Specialization of TurnoutOperation to contain common properties and methods for concrete subclasses.
    ConditionalVariable
    The variable used in the antecedent (the 'if' part) of the Conditional.
    DccLocoAddress
    Encapsulate information for a DCC Locomotive Decoder Address.
    EntryPoint
    Represent an EntryPoint to a Section of track.
    InstanceManager
    Provides methods for locating various interface implementations.
    JmriPlugin Deprecated.
    since 4.22.1 without replacement
    Manager.ManagerDataEvent<E extends NamedBean>
    Define an event that encapsulates changes to a list.
    NamedBeanHandle<T extends NamedBean>
    Utility class for managing access to a NamedBean.
    NamedBeanHandleManager
    Instance for controlling the issuing of NamedBeanHandles.
    NamedBeanPropertyDescriptor<E>
    Describes metadata about a given property key for a NamedBean.
    NamedBeanUsageReport
    This is a data structure to pass usage information from getUsageReport() requests back to the calling object.
    NmraPacket
    Utilities for coding/decoding NMRA S&RP DCC packets.
    NoFeedbackTurnoutOperation
    NoFeedBackTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with no feedback.
    Path
    Represents a particular set of NamedBean (usually turnout) settings to put a path through trackwork to a Block.
    ProgrammingMode
    Denote a single programming mode.
    PushbuttonPacket
    Generates an NMRA packet containing the correct payload to enable or disable pushbutton lockout.
    RawTurnoutOperation
    RawTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with no feedback by sending raw NMRA commands to the turnout.
    Scale
    Define the characteristics of a layout scale.
    ScaleManager
    Create a list of layout scale objects and provide retrieval methods.
    Section
    Sections represent a group of one or more connected Blocks that may be allocated to a train traveling in a given direction.
    SectionManager
    Basic Implementation of a SectionManager.
    SensorTurnoutOperation
    SensorTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with explicit feedback from sensor(s).
    Transit
    A Transit is a group of Sections representing a specified path through a layout.
    TransitManager
    Implementation of a Transit Manager
    TransitSection
    This class holds information and options for a Section when assigned to a Transit.
    TransitSectionAction
    This class holds information and options for a Action to be applied when an automated train enters, exits, or is inside of a Section in a Transit.
    TurnoutOperation
    Framework for automating reliable turnout operation.
    TurnoutOperationManager
    class to look after the collection of TurnoutOperation subclasses Unlike the other xxxManager, this does not inherit from AbstractManager since the resources it deals with are not DCC system resources but rather purely internal state.
    TurnoutOperator
    Some (not much) common machinery for the concrete turnout operator classes.
    Version
    Defines a simple place to get the JMRI version string.
  • Enum Summary 
    Enum Description
    AnalogIO.AbsoluteOrRelative
    Is the value an absolute value or a relative value?
    Conditional.Action  
    Conditional.AntecedentOperator  
    Conditional.ItemType  
    Conditional.Operator  
    Conditional.State  
    Conditional.Type  
    LocoAddress.Protocol  
    Manager.NameValidity
    Code the validity (including just as a prefix) of a proposed name string.
    MultiMeter.CurrentUnits
    The units returned by getCurrent.
    NamedBean.DisplayOptions
    NmraPacket.DccAddressType  
    PhysicalLocationReporter.Direction  
    Programmer.WriteConfirmMode  
    Sensor.PullResistance  
    SpeedStepMode
    DCC Speed Step Mode.
    ThrottleListener.DecisionType
    A decision type requested from ThrottleManager to ThrottleListener, or decision made from ThrottleListener to ThrottleManager
    Timebase.ClockInitialRunState
    Defines what to do with the fast clock when JMRI starts up.
  • Exception Summary 
    Exception Description
    AudioException
    Specific Exception class used by Audio objects.
    JmriException
    Base for JMRI-specific exceptions.
    NamedBean.BadNameException
    Parent class for a set of classes that describe if a user name or system name is a bad name.
    NamedBean.BadSystemNameException  
    NamedBean.BadUserNameException  
    NamedBean.DuplicateSystemNameException  
    ProgrammerException
    Base for exceptions indicating problems in Programmer operations.
    ProgReadException
    Represents a failure to read when programming.
    ProgWriteException
    Represents a failure to write when programming.
    TimebaseRateException
    Thrown to indicate that a Timebase can't handle a particular rate setting that's been requested.
    TurnoutOperator.TurnoutOperatorException
    Exception thrown when the turnout's operator has changed while the operator is running.
  • Annotation Types Summary 
    Annotation Type Description
    Generated
    Annotation denoting that specific code was auto-generated
    InvokeOnAnyThread
    Annotation denoting that a method or constructor may be called on any thread.
    InvokeOnGuiThread
    Annotation denoting that a method or constructor must be called on the GUI (i.e.
    InvokeOnLayoutThread
    Annotation denoting that a method or constructor must be called on the layout thread.