Provides basic interfaces and certain core implementations for the JMRI layout management concepts.
Related DocumentationFor 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.
Interface Summary Interface Description AddressedIdTagThis interface extends
IdTagto include a locomotive address.
AddressedProgrammerProvide access to the hardware DCC decoder programming capability. AddressedProgrammerManagerGet access to available
AnalogIORepresent an analog I/O on the layout. AnalogIOManagerInterface for obtaining AnalogIOs. AudioRepresent an Audio, a place to store or control sound information. AudioManagerLocate an Audio object representing some specific audio information. BasicRosterEntryBasicRosterEntry represents a single element in a locomotive roster, including information on how to locate it from decoder information. CabSignalInterface for a Cab Signal Object, describing the state of the track ahead relative to a locomotive with a given address. CabSignalListListenerAllow notification of changes to the cab signal list. CabSignalManagerInterface for CabSignal Manager objects, which provide access to the existing CabSignals and allows for creation and destruction. CatalogTreeRepresents 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. CatalogTreeManagerLocate a CatalogTree object representing some specific information. ClockControlClockControl defines an interface for control of hardware Fast Clocks CollectingReporterThis is an extension of a reporter device that is capable of collecting multiple reports in a collection. CommandStationProvide a DCC command station's basic ability: Sending DCC packets to the rails. ConditionalA Conditional is layout control logic, consisting of a logical expression and an action. ConditionalActionThe consequent of the antecedent of the conditional proposition. ConditionalManagerInterface for obtaining Conditionals ConfigureManagerProvide load/store capabilities for general configuration. ConsistInterface for a Consist Object, describing one or more cooperatively-operating locomotives. ConsistListenerAllow notification of delayed consisting errors. ConsistListListenerAllow notification of changes to the consist list. ConsistManagerInterface for Consist Manager objects, which provide access to the existing Consists and allows for creation and destruction. ConsistManager.EnableListenerA listener that listens to whether the manager is enabled or disabled. CurrentMeterInterface for marking a Meter as a Current meter. DccThrottleProvide DCC-specific extensions to Throttle interface. DigitalIORepresent a digital I/O on the layout. DisposableInterface 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. FastClockProvide access to fast clock capabilities in hardware or software. GlobalProgrammerManagerGet access to available
IdTagIdTag is a pre-parsed representation of an identification message from the layout. IdTagListenerConnect to an IdTag This file is part of JMRI. IdTagManagerLocate an IdTag object representing a specific IdTag. InstanceInitializerInterface providing initialization of specific objects by default. InstanceManagerAutoDefaultInterface indicating that the InstanceManager can create an object of this type when needed by a request. InstanceManagerAutoInitializeProvide a hint to the
InstanceManagerthat this object needs have additional initialization performed after the InstanceManager initially creates it.
LightRepresent a single visible Light on the physical layout. LightControlEach LightControl object is linked to a specific Light, and provides one of the controls available for switching the Light ON/OFF in response to time or events occurring on the layout. LightManagerInterface for obtaining Lights. LocoAddressInterface for generic Locomotive Address. LogixA Logix is a group of Conditionals that monitor one or more conditions (internal or on the layout). LogixManagerInterface 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
ListDataListenerwithout introducing a Swing dependency into core JMRI.
MemoryRepresent a Memory, a place to store values. MemoryManagerLocate a Memory object representing some specific information. MetadataMeta data concerning the JMRI application. MeterInterface for displaying (and controlling where appropriate) Current, Voltage, and other status data from the layout. MeterManagerInterface for obtaining Meters. ModifiedFlagTags 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. NamedBeanProvides common services for classes representing objects on the layout, and allows a common form of access by their Managers. NameIncrementingManagerInterface that indicates that a Manager class capable of providing the next system name after the name of a given NamedBean. PhysicalLocationReporterImplements a common way that a Reporter that supports having a Physical Location can report that location to querying objects. PowerManagerProvide controls for layout power. ProgListenerAllow notification of the completion of programming operations. ProgrammerProvide access to the hardware DCC decoder programming capability. ProvidingManager<E extends NamedBean> ProxyManager<B extends NamedBean>Interface for Managers of NamedBeans that are proxies for a collection of Managers for the same type of NamedBean. RailComRailCom 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.
RailComManagerLocate a RailCom Object representing a specific RailCom Enabled device.
RailCom is a registered trademark of Lenz GmbH.
ReportableThis interface specifies that an object provides a report value suitable for display in an on-screen reporter. ReporterRepresent a device that can report identification information. ReporterManagerLocate a Reporter object representing some specific device on the layout. RouteRoutes represent a collection of Turnouts that may be set at the same time. RouteManagerInterface for obtaining Routes. SensorGeneral input device representation. SensorManagerInterface for controlling sensors. ShutDownManagerManage tasks to be completed when the program shuts down normally. ShutDownTaskExecute a specific task before the program terminates. Signal SignalAppearanceMapAccess to signal appearance information. SignalGroupSignal Groups are used to represent European subsidary signals that would be sited with a signal mast. SignalGroupManagerInterface for obtaining information about signal groups. SignalHeadRepresent a single signal head. SignalHeadManagerInterface for obtaining signal heads. SignalMastRepresent a signal mast. SignalMastLogicGeneric interface for Signal Mast Logic. SignalMastLogicManager SignalMastManagerInterface for obtaining signal masts. SignalSystemA SignalSystem defines a signalling system by representing the properties of various signal aspects it contains. SignalSystemManagerInterface for obtaining information about signal systems. StringIORepresent an string I/O on the layout. StringIOManagerInterface for obtaining StringIOs. SystemConnectionMemoLightweight interface denoting that a system is active, and provide general information. ThrottleA Throttle object can be manipulated to change the speed, direction and functions of a single locomotive. ThrottleListenerA listener interface for a class requesting a DccThrottle from the ThrottleManager. ThrottleManagerInterface for allocating
TimebaseProvide access to clock capabilities in hardware or software. TimeDisplayProvide access to basic functions of a clock face, that displays time in some particular way. TurnoutRepresent a Turnout on the layout. TurnoutManagerLocate a Turnout object representing some specific turnout on the layout. UserPreferencesManagerInterface for the User Preferences Manager. VariableControlSpanBeanInterface for
NamedBeanindicating that the bean may control more than one output.
VariableLightRepresent a single visible Variable Light on the physical layout. VariableLightManagerInterface for obtaining VariableLights. VoltageMeterInterface for marking a Meter as a Voltage meter.
Class Summary Class Description ApplicationA lightweight class that provides a methods to retrieve the current JMRI application name and icon. BeanSettingRepresent a NamedBean (such as a Turnout) and specific desired setting for it. BlockRepresents a particular piece of track, more informally a "Block". BlockManagerBasic implementation of a BlockManager. BooleanPropertyDescriptorImplementation of NamedBeanPropertyDescriptor for true/false properties. BundleProvides standard access for resource bundles in a package. CatalogTreeLeafLeaf of a CatalogTree. CatalogTreeNodeNode of a CatalogTree. CommonTurnoutOperationSpecialization of TurnoutOperation to contain common properties and methods for concrete subclasses. ConditionalVariableThe variable used in the antecedent (the 'if' part) of the Conditional. DccLocoAddressEncapsulate information for a DCC Locomotive Decoder Address. EntryPointRepresent an EntryPoint to a Section of track. InstanceManagerProvides methods for locating various interface implementations. 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. NamedBeanHandleManagerInstance for controlling the issuing of NamedBeanHandles. NamedBeanPropertyDescriptor<E>Describes metadata about a given property key for a NamedBean. NamedBeanUsageReportThis is a data structure to pass usage information from getUsageReport() requests back to the calling object. NmraPacketUtilities for coding/decoding NMRA S&RP DCC packets. NoFeedbackTurnoutOperationNoFeedBackTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with no feedback. PathRepresents a particular set of NamedBean (usually turnout) settings to put a path through trackwork to a Block. ProgrammingModeDenote a single programming mode. PushbuttonPacketGenerates an NMRA packet containing the correct payload to enable or disable pushbutton lockout. RawTurnoutOperationRawTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with no feedback by sending raw NMRA commands to the turnout. Reference<E>A reference to an object. ScaleDefine the characteristics of a layout scale. ScaleManagerCreate a list of layout scale objects and provide retrieval methods. SectionSections represent a group of one or more connected Blocks that may be allocated to a train traveling in a given direction. SectionManagerBasic Implementation of a SectionManager. SelectionPropertyDescriptorImplementation of NamedBeanPropertyDescriptor for multiple choice properties. SensorTurnoutOperationSensorTurnoutOperation class - specialization of TurnoutOperation to provide automatic retry for a turnout with explicit feedback from sensor(s). TransitA Transit is a group of Sections representing a specified path through a layout. TransitManagerImplementation of a Transit Manager TransitSectionThis class holds information and options for a Section when assigned to a Transit. TransitSectionActionThis 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. TurnoutOperationFramework for automating reliable turnout operation. TurnoutOperationManagerclass 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. TurnoutOperatorSome (not much) common machinery for the concrete turnout operator classes. VersionDefines a simple place to get the JMRI version string.
Enum Summary Enum Description AnalogIO.AbsoluteOrRelativeIs the value an absolute value or a relative value? Conditional.Action Conditional.AntecedentOperator Conditional.ItemType Conditional.Operator Conditional.State Conditional.Type LocoAddress.Protocol Manager.NameValidityCode the validity (including just as a prefix) of a proposed name string. Meter.Unit NamedBean.DisplayOptionsDisplay options for
NmraPacket.DccAddressType PhysicalLocationReporter.Direction Programmer.WriteConfirmMode Sensor.PullResistance SpeedStepModeDCC Speed Step Mode. ThrottleListener.DecisionTypeA decision type requested from ThrottleManager to ThrottleListener, or decision made from ThrottleListener to ThrottleManager Timebase.ClockInitialRunStateDefines what to do with the fast clock when JMRI starts up.
Exception Summary Exception Description AudioExceptionSpecific Exception class used by Audio objects. JmriExceptionBase for JMRI-specific exceptions. NamedBean.BadNameExceptionParent 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 ProgrammerExceptionBase for exceptions indicating problems in
ProgReadExceptionRepresents a failure to read when programming. ProgWriteExceptionRepresents a failure to write when programming. TimebaseRateExceptionThrown to indicate that a Timebase can't handle a particular rate setting that's been requested. TurnoutOperator.TurnoutOperatorExceptionException thrown when the turnout's operator has changed while the operator is running.
Annotation Types Summary Annotation Type Description InvokeOnAnyThreadAnnotation denoting that a method or constructor may be called on any thread. InvokeOnGuiThreadAnnotation denoting that a method or constructor must be called on the GUI (i.e. InvokeOnLayoutThreadAnnotation denoting that a method or constructor must be called on the layout thread.