001package jmri.jmrix.lenz.messageformatters; 002 003import jmri.jmrix.Message; 004import jmri.jmrix.lenz.LenzCommandStation; 005import jmri.jmrix.lenz.XNetConstants; 006import jmri.jmrix.lenz.XNetReply; 007import jmri.jmrix.lenz.XPressNetMessageFormatter; 008 009/** 010 * Formatter for Ops Mode Read Result messages. 011 * 012 * @author Paul Bender Copyright (C) 2025 013 */ 014public class XNetOpsModeReadResultFormatter implements XPressNetMessageFormatter { 015 016 @Override 017 public boolean handlesMessage(Message m) { 018 return m instanceof XNetReply && m.getElement(0) == XNetConstants.CS_ADVANCED_INFO_RESPONSE && m.getElement(1) == XNetConstants.POM_RESULTS; 019 } 020 021 @Override 022 public String formatMessage(Message m) { 023 if (!handlesMessage(m)) { 024 throw new IllegalArgumentException("Message is not supported"); 025 } 026 return Bundle.getMessage("XNetReplyOpsModeResultResponse", 027 LenzCommandStation.calcLocoAddress(m.getElement(2), m.getElement(3)), 028 m.getElement(4) &0xFF); 029 } 030 031}