001package jmri.jmrit.logixng;
002
003import jmri.NamedBean;
004
005/**
006 * DigitalExpressionBean is a DigitalExpression that also implements NamedBean.
007 * 
008 * @author Daniel Bergqvist Copyright 2018
009 */
010public interface DigitalExpressionBean extends NamedBean, DigitalExpression {
011    
012    /**
013     * Constant representing an "false" state. It's returned from the method
014     * getState() if the method evaluate() returned false the last time it was
015     * called.
016     */
017    int FALSE = 0x02;
018
019    /**
020     * Constant representing an "false" state. It's returned from the method
021     * getState() if the method evaluate() returned false the last time it was
022     * called.
023     */
024    int TRUE = 0x04;
025    
026    /**
027     * Notify property change listeners that the result of the expression
028     * has changed.
029     * @param oldResult the old last result
030     * @param newResult the new last result
031     */
032    void notifyChangedResult(boolean oldResult, boolean newResult);
033    
034}