Message extends FieldMap { @Override public boolean isEmpty() { return super.isEmpty() && header.isEmpty() && trailer.isEmpty(); } Message(); protected  Message(int[] fieldOrder);  Message(String string);  Message(String string, boolean validate);  Message(String string, DataDictionary dd);  Message(String string, DataDictionary dd, boolean validate); static boolean InitializeXML(String url); @Override Object clone(); @Override String toString(); int bodyLength(); void headerAddGroup(Group group); void headerReplaceGroup(int num, Group group); Group headerGetGroup(int num, Group group); void headerRemoveGroup(Group group); boolean headerHasGroup(int field); boolean headerHasGroup(int num, int field); boolean headerHasGroup(int num, Group group); boolean headerHasGroup(Group group); void trailerAddGroup(Group group); Group trailerGetGroup(int num, Group group); void trailerReplaceGroup(int num, Group group); void trailerRemoveGroup(Group group); boolean trailerHasGroup(int field); boolean trailerHasGroup(int num, int field); boolean trailerHasGroup(int num, Group group); boolean trailerHasGroup(Group group); String toXML(); String toXML(DataDictionary dataDictionary); final Header getHeader(); final Trailer getTrailer(); boolean isAdmin(); boolean isApp(); @Override boolean isEmpty(); @Override void clear(); void reverseRoute(Header header); void fromString(String messageData, DataDictionary dd, boolean doValidation); void fromString(String messageData, DataDictionary sessionDictionary,
            DataDictionary applicationDictionary, boolean doValidation); void pushBack(StringField field); synchronized FieldException getException(); static MsgType identifyType(String message);  }
@Test public void testIsEmpty() { final Message message = new Message(); assertTrue("Message should be empty on construction", message.isEmpty()); message.getHeader().setField(new BeginString("FIX.4.2")); assertFalse("Header should contain a field", message.isEmpty()); message.clear(); assertTrue("Message should be empty after clear", message.isEmpty()); message.setField(new Symbol("MSFT")); assertFalse("Body should contain a field", message.isEmpty()); message.clear(); assertTrue("Message should be empty after clear", message.isEmpty()); message.getTrailer().setField(new CheckSum("10")); assertFalse("Trailer should contain a field", message.isEmpty()); message.clear(); assertTrue("Message should be empty after clear", message.isEmpty()); }