Package jmri

Interface Logix

All Superinterfaces:
Comparable<NamedBean>, NamedBean, PropertyChangeProvider
All Known Implementing Classes:
DefaultLogix

public interface Logix
extends NamedBean
A Logix is a group of Conditionals that monitor one or more conditions (internal or on the layout). It services these Conditionals by installing and deinstalling the proper listeners for their variables.

A Logix can be enabled or not. It passes this attribute to its Conditionals. By default it is enabled. When not enabled, a Conditional will still respond to callbacks from its listeners and calculate its state, however it will not execute its actions. Enabled is a bound property of a Logix.

A Logix can be deactivated or not. When deactivated, the listeners of the Conditional variables are deinstalled.

A Logix does not have a "state", however, each of its Conditionals does.


This file is part of JMRI.

JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.

JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.