Class BiDiBSignalMast

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

    public class BiDiBSignalMast
    extends AbstractSignalMast
    implements BiDiBNamedBeanInterface
    This class implements a SignalMast that use BiDiB Accessories to set aspects.

    This implementation writes out to BiDiB when it's commanded to change appearance, and updates its internal state when it receives a status feedback from BiDiB.

    System name specifies the creation information:

     BF$bsm:basic:one-searchlight(123)
     
    The name is a colon-separated series of terms:
    • B - system prefix
    • F$bsm - defines signal masts of this type
    • basic - name of the signaling system
    • one-searchlight - name of the particular aspect map
    • (node:123) - BiDiB Accessory address

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

    Based upon DccSignalMast by Kevin Dickerson