001package jmri.jmrix.roco.z21.messageformatters; 002 003import jmri.jmrix.Message; 004import jmri.jmrix.roco.z21.RocoZ21CommandStation; 005import jmri.jmrix.roco.z21.Z21MessageFormatter; 006import jmri.jmrix.roco.z21.Z21MessageUtils; 007import jmri.jmrix.roco.z21.Z21Reply; 008 009/** 010 * Formatter for Z21 Broadcast Flags Reply 011 * 012 * @author Paul Bender Copyright (C) 2025 013 */ 014public class Z21BroadcastFlagsReplyFormatter implements Z21MessageFormatter { 015 016 @Override 017 public boolean handlesMessage(Message m) { 018 return m instanceof Z21Reply && ((Z21Reply) m).getOpCode() == 0x0051; 019 } 020 021 @Override 022 public String formatMessage(Message m) { 023 if(!handlesMessage(m)) { 024 throw new IllegalArgumentException("Z21BroadcastFlagsReplyFormatter cannot format message"); 025 } 026 return Bundle.getMessage("Z21ReplyBroadcastFlags", RocoZ21CommandStation.getZ21BroadcastFlagsString(Z21MessageUtils.interpretBroadcastFlags(m))); 027 } 028 029}