001package jmri.jmrit.logixng.tools.debugger;
002
003import java.util.Set;
004
005import jmri.JmriException;
006import jmri.NamedBean;
007import jmri.jmrit.logixng.BaseManager;
008import jmri.jmrit.logixng.MaleDigitalBooleanActionSocket;
009
010/**
011 *
012 * @author daniel
013 */
014public class DebuggerMaleDigitalBooleanActionSocket extends AbstractDebuggerMaleSocket implements MaleDigitalBooleanActionSocket {
015    
016    private boolean _nextHasChangedToTrue;
017    private boolean _nextHasChangedToFalse;
018    
019    public DebuggerMaleDigitalBooleanActionSocket(BaseManager<MaleDigitalBooleanActionSocket> manager, MaleDigitalBooleanActionSocket maleSocket) {
020        super(manager, maleSocket);
021    }
022
023    /** {@inheritDoc} */
024    @Override
025    public String getBeforeInfo() {
026        return Bundle.getMessage("DigitalBooleanAction_InfoBefore",
027                _nextHasChangedToTrue ? Bundle.getMessage("True") : Bundle.getMessage("False"),
028                _nextHasChangedToFalse ? Bundle.getMessage("True") : Bundle.getMessage("False"));
029    }
030    
031    /** {@inheritDoc} */
032    @Override
033    public String getAfterInfo() {
034        return Bundle.getMessage("DigitalBooleanAction_InfoAfter");
035    }
036    
037    @Override
038    public void execute(boolean hasChangedToTrue, boolean hasChangedToFalse) throws JmriException {
039        _nextHasChangedToTrue = hasChangedToTrue;
040        _nextHasChangedToFalse = hasChangedToFalse;
041        before();
042        ((MaleDigitalBooleanActionSocket)getObject()).execute(hasChangedToTrue, hasChangedToFalse);
043        after();
044    }
045
046    @Override
047    public void setState(int s) throws JmriException {
048        ((MaleDigitalBooleanActionSocket)getObject()).setState(s);
049    }
050
051    @Override
052    public int getState() {
053        return ((MaleDigitalBooleanActionSocket)getObject()).getState();
054    }
055
056    @Override
057    public String describeState(int state) {
058        return ((MaleDigitalBooleanActionSocket)getObject()).describeState(state);
059    }
060
061    @Override
062    public void setProperty(String key, Object value) {
063        ((MaleDigitalBooleanActionSocket)getObject()).setProperty(key, value);
064    }
065
066    @Override
067    public Object getProperty(String key) {
068        return ((MaleDigitalBooleanActionSocket)getObject()).getProperty(key);
069    }
070
071    @Override
072    public void removeProperty(String key) {
073        ((MaleDigitalBooleanActionSocket)getObject()).removeProperty(key);
074    }
075
076    @Override
077    public Set<String> getPropertyKeys() {
078        return ((MaleDigitalBooleanActionSocket)getObject()).getPropertyKeys();
079    }
080
081    @Override
082    public String getBeanType() {
083        return ((MaleDigitalBooleanActionSocket)getObject()).getBeanType();
084    }
085
086    @Override
087    public int compareSystemNameSuffix(String suffix1, String suffix2, NamedBean n2) {
088        return ((MaleDigitalBooleanActionSocket)getObject()).compareSystemNameSuffix(suffix1, suffix2, n2);
089    }
090    
091}