001package jmri.jmrit.ctc;
002
003/*
004 * This object "does nothing" but provide routines that do nothing that the "CodeButtonHandler" object calls.
005 * This is typically used when there is ONLY a "turnout lock" object and a code button, nothing else.
006 * I did this as an expedient, since I didn't want to put complex conditional if statements all over CodeButtonHandler
007 * testing whether "_mSignalDirectionIndicators" was null and dealing with the side effects.
008 * @author Gregory J. Bedlek Copyright (C) 2018, 2019
009 */
010
011public class SignalDirectionIndicatorsNull  implements SignalDirectionIndicatorsInterface {
012    public SignalDirectionIndicatorsNull() {}
013
014    @Override
015    public void setCodeButtonHandler(CodeButtonHandler codeButtonHandler) {}
016    @Override
017    public void removeAllListeners() {}
018    @Override
019    public boolean isNonfunctionalObject() { return true; }
020    @Override
021    public void setPresentSignalDirectionLever(int presentSignalDirectionLever) {}
022    @Override
023    public boolean isRunningTime() { return false; }
024    @Override
025    public void osSectionBecameOccupied() {}
026    @Override
027    public void codeButtonPressed(int requestedDirection, boolean requestedChangeInSignalDirection) {}
028    @Override
029    public void startCodingTime() {}
030    @Override
031    public boolean signalsNormal() { return true; }
032    @Override
033    public boolean signalsNormalOrOutOfCorrespondence()  { return true; }
034    @Override
035    public int getPresentDirection() { return CTCConstants.SIGNALSNORMAL; }
036    @Override
037    public boolean inCorrespondence() { return true; }
038    @Override
039    public void forceAllSignalsToHeld() {}
040    @Override
041    public int getSignalsInTheFieldDirection() { return CTCConstants.OUTOFCORRESPONDENCE; }
042    @Override
043    public void setSignalDirectionIndicatorsToOUTOFCORRESPONDENCE() {}
044    @Override
045    public void setRequestedDirection(int direction) {}
046}