001package jmri.jmrix.lenz.messageformatters; 002 003import jmri.jmrix.Message; 004import jmri.jmrix.lenz.XNetConstants; 005import jmri.jmrix.lenz.XNetReply; 006import jmri.jmrix.lenz.XPressNetMessageFormatter; 007 008/** 009 * Format replies for XPressNet LI101F reply for Baud Rate. 010 * 011 * @author Paul Bender Copyright (C) 205 012 */ 013public class XNetLI101BaudReplyFormatter implements XPressNetMessageFormatter { 014 private static final String X_NET_REPLY_LI_BAUD = "XNetReplyLIBaud"; 015 016 @Override 017 public boolean handlesMessage(Message m) { 018 return m instanceof XNetReply && 019 m.getElement(0) == XNetConstants.LI101_REQUEST && 020 m.getElement(1) == XNetConstants.LI101_REQUEST_BAUD; 021 } 022 023 @Override 024 public String formatMessage(Message m) { 025 if (!handlesMessage(m)) { 026 throw new IllegalArgumentException("Message is not supported"); 027 } 028 switch (m.getElement(2)) { 029 case 1: 030 return Bundle.getMessage(X_NET_REPLY_LI_BAUD, Bundle.getMessage("LIBaud19200")); 031 case 2: 032 return Bundle.getMessage(X_NET_REPLY_LI_BAUD, Bundle.getMessage("Baud38400")); 033 case 3: 034 return Bundle.getMessage(X_NET_REPLY_LI_BAUD, Bundle.getMessage("Baud57600")); 035 case 4: 036 return Bundle.getMessage(X_NET_REPLY_LI_BAUD, Bundle.getMessage("Baud115200")); 037 default: 038 return Bundle.getMessage(X_NET_REPLY_LI_BAUD, Bundle.getMessage("BaudOther")); 039 } 040 } 041 042}