001package jmri.jmrix.lenz.messageformatters; 002 003import jmri.jmrix.lenz.XNetConstants; 004import jmri.jmrix.lenz.XPressNetMessageFormatter; 005 006/** 007 * Format Command Station Request messages for display 008 * 009 * @author Paul Bender Copyright (C) 2024 010 */ 011public class XNetCommandStationRequestFormatter implements XPressNetMessageFormatter { 012 013 @Override 014 public boolean handlesMessage(jmri.jmrix.Message m) { 015 return m instanceof jmri.jmrix.lenz.XNetMessage && 016 ((jmri.jmrix.lenz.XNetMessage) m).getElement(0) == XNetConstants.CS_REQUEST; 017 } 018 019 @Override 020 public String formatMessage(jmri.jmrix.Message m) { 021 switch (m.getElement(1)) { 022 case XNetConstants.EMERGENCY_OFF: 023 return Bundle.getMessage("XNetMessageRequestEmergencyOff"); 024 case XNetConstants.RESUME_OPS: 025 return Bundle.getMessage("XNetMessageRequestNormalOps"); 026 case XNetConstants.SERVICE_MODE_CSRESULT: 027 return Bundle.getMessage("XNetMessageRequestServiceModeResult"); 028 case XNetConstants.OPS_MODE_CSRESULT: 029 return Bundle.getMessage("XNetMessageRequestOpsModeResult"); 030 case XNetConstants.CS_VERSION: 031 return Bundle.getMessage("XNetMessageRequestCSVersion"); 032 case XNetConstants.CS_STATUS: 033 return Bundle.getMessage("XNetMessageRequestCSStatus"); 034 default: 035 throw new IllegalArgumentException("Unknown Command Station Request: " + m.getElement(1)); 036 } 037 } 038}