001package jmri.jmrix.lenz.messageformatters; 002 003import jmri.jmrix.lenz.XNetConstants; 004import jmri.jmrix.lenz.XPressNetMessageFormatter; 005 006public class XNetCSPowerOnStatusRequestMessageFormatter implements XPressNetMessageFormatter { 007 @Override 008 public boolean handlesMessage(jmri.jmrix.Message m) { 009 return m instanceof jmri.jmrix.lenz.XNetMessage && 010 ((jmri.jmrix.lenz.XNetMessage) m).getElement(0) == XNetConstants.CS_SET_POWERMODE && 011 ((jmri.jmrix.lenz.XNetMessage) m).getElement(1) == XNetConstants.CS_SET_POWERMODE; 012 } 013 014 @Override 015 public String formatMessage(jmri.jmrix.Message m) { 016 if (m.getElement(0) == XNetConstants.CS_SET_POWERMODE 017 && m.getElement(1) == XNetConstants.CS_SET_POWERMODE 018 && m.getElement(2) == XNetConstants.CS_POWERMODE_AUTO) { 019 return Bundle.getMessage("XNetMessageRequestCSPowerModeAuto"); 020 } else if (m.getElement(0) == XNetConstants.CS_SET_POWERMODE 021 && m.getElement(1) == XNetConstants.CS_SET_POWERMODE 022 && m.getElement(2) == XNetConstants.CS_POWERMODE_MANUAL) { 023 return Bundle.getMessage("XNetMessageRequestCSPowerModeManual"); 024 } 025 throw new IllegalArgumentException("Unknown CS Power Mode Request Type"); 026 } 027}