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 * Formatter for XPressNet XNet Broadcast Emergency Stop replies.
010 *
011 * @author Paul Bender Copyright (C) 2025
012 */
013public class XNetBroadcastEmergencyStopFormatter implements XPressNetMessageFormatter {
014    @Override
015    public boolean handlesMessage(Message m) {
016        return m instanceof XNetReply &&
017                ((XNetReply) m).getElement(0) == XNetConstants.BC_EMERGENCY_STOP &&
018                ((XNetReply) m).getElement(1) == XNetConstants.BC_EVERYTHING_STOP;
019    }
020
021    @Override
022    public String formatMessage(Message message) {
023        if(!handlesMessage(message)){
024            throw new IllegalArgumentException("Message is not supported");
025        }
026        return Bundle.getMessage("XNetReplyBCEverythingStop");
027    }
028}