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 LI101 Address.
010 *
011 * @author Paul Bender Copyright (C) 2025
012 */
013public class XNetLI101AddressReplyFormatter implements XPressNetMessageFormatter {
014
015    @Override
016    public boolean handlesMessage(Message m) {
017        return m instanceof XNetReply &&
018                m.getElement(0) == XNetConstants.LI101_REQUEST &&
019                m.getElement(1) == XNetConstants.LI101_REQUEST_ADDRESS;
020    }
021
022    @Override
023    public String formatMessage(Message m) {
024        if(!handlesMessage(m)) {
025            throw new IllegalArgumentException("Message is not supported");
026        }
027        return Bundle.getMessage("XNetReplyLIAddress", m.getElement(2));
028    }
029
030}