001package jmri.jmrix.roco.z21.messageformatters; 002 003import jmri.jmrix.Message; 004import jmri.jmrix.roco.z21.Z21Message; 005import jmri.jmrix.roco.z21.Z21MessageFormatter; 006 007/** 008 * Formatter for Z21 CAN Get Description Requests 009 * @author Paul Bender Copyright (C) 2026 010 */ 011public class Z21CANGetDescriptionRequestFormatter implements Z21MessageFormatter { 012 @Override 013 public boolean handlesMessage(Message m) { 014 return m instanceof Z21Message && ((Z21Message)m).getOpCode() == 0x00C8; 015 } 016 017 @Override 018 public String formatMessage(Message m) { 019 if(!handlesMessage(m)){ 020 throw new IllegalArgumentException("Message m is not a Z21 CAN Description Request"); 021 } 022 int networkID = ( m.getElement(4) & 0xFF) + ((m.getElement(5) & 0xFF) << 8); 023 return Bundle.getMessage("Z21CANGetDescriptionRequest", Integer.toHexString(networkID)); 024 } 025}