001package jmri.jmrit.beantable.routetable; 002 003import jmri.Route; 004import jmri.Sensor; 005 006/** 007 * Route Table RouteSensor Elements. 008 * 009 * Split from {@link jmri.jmrit.beantable.RouteTableAction} 010 * 011 * @author Dave Duchamp Copyright (C) 2004 012 * @author Bob Jacobsen Copyright (C) 2007 013 * @author Simon Reader Copyright (C) 2008 014 * @author Pete Cressman Copyright (C) 2009 015 * @author Egbert Broerse Copyright (C) 2016 016 * @author Paul Bender Copyright (C) 2020 017 */ 018class RouteSensor extends RouteElement { 019 private static final String SET_TO_ACTIVE = Bundle.getMessage("Set") + " " + Bundle.getMessage("SensorStateActive"); 020 private static final String SET_TO_INACTIVE = Bundle.getMessage("Set") + " " + Bundle.getMessage("SensorStateInactive"); 021 022 private static final String SET_TO_TOGGLE = Bundle.getMessage("Set") + " " + Bundle.getMessage("Toggle"); 023 024 RouteSensor(String sysName, String userName) { 025 super(sysName, userName); 026 } 027 028 @Override 029 String getSetToState() { 030 switch (_setToState) { 031 case Sensor.INACTIVE: 032 return SET_TO_INACTIVE; 033 case Sensor.ACTIVE: 034 return SET_TO_ACTIVE; 035 case Route.TOGGLE: 036 return SET_TO_TOGGLE; 037 default: 038 log.warn("Unhandled route state: {}", _setToState); 039 break; 040 } 041 return ""; 042 } 043 044 @Override 045 void setSetToState(String state) { 046 if (SET_TO_INACTIVE.equals(state)) { 047 _setToState = Sensor.INACTIVE; 048 } else if (SET_TO_ACTIVE.equals(state)) { 049 _setToState = Sensor.ACTIVE; 050 } else if (SET_TO_TOGGLE.equals(state)) { 051 _setToState = Route.TOGGLE; 052 } 053 } 054 055 private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(RouteSensor.class); 056}