Class LNCPSignalMast

  • All Implemented Interfaces:
    java.beans.VetoableChangeListener, java.lang.Comparable<NamedBean>, java.util.EventListener, PropertyChangeProvider, LocoNetListener, NamedBean, Signal, SignalMast

    public class LNCPSignalMast
    extends DccSignalMast
    implements LocoNetListener
    Extend jmri.SignalMast for signals implemented by an LNCP.

    This implementation writes out to the physical signal when it's commanded to change appearance, and updates its internal state when it hears commands from other places.

    setAspect(java.lang.String) does not immediately change the local aspect. Instead, it produces the message on the network, waiting for that to return and do the local state change, notification, etc.

    This is a specific implementation for the RR-cirkits LNCP interface board. A more general implementation, which can work with any system(s), is available in DccSignalMast.

    • Constructor Detail

      • LNCPSignalMast

        public LNCPSignalMast​(java.lang.String sys,
                              java.lang.String user)
    • Method Detail

      • message

        public void message​(LocoNetMessage l)
        Description copied from interface: LocoNetListener
        Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.
        Specified by:
        message in interface LocoNetListener
        Parameters:
        l - The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
      • setKnownState

        public void setKnownState​(java.lang.String aspect)
      • dispose

        public void dispose()
        Description copied from class: AbstractNamedBean
        Deactivate this object, so that it releases as many resources as possible and no longer effects others.

        For example, if this object has listeners, after a call to this method it should no longer notify those listeners. Any native or system-wide resources it maintains should be released, including threads, files, etc.

        It is an error to invoke any other methods on this object once dispose() has been called. Note, however, that there is no guarantee about behavior in that case.

        Afterwards, references to this object may still exist elsewhere, preventing its garbage collection. But it's formally dead, and shouldn't be keeping any other objects alive. Therefore, this method should null out any references to other objects that this NamedBean contained.

        Specified by:
        dispose in interface NamedBean
        Overrides:
        dispose in class AbstractNamedBean