package org.mercury_im.messenger.xmpp.entity.message; import org.mercury_im.messenger.core.entity.message.AbstractMessage; import org.mercury_im.messenger.xmpp.entity.XmppAddress; public final class XmppMessage { private XmppMessage() { } public class DirectMessage extends AbstractMessage< XmppAddress.XmppUserAddress, XmppMessageMetadata> { } public class MucMessage extends AbstractMessage< XmppAddress.XmppRoomParticipantAddress, XmppMessageMetadata> { } // Maybe? public class MixMessage extends AbstractMessage< XmppAddress.XmppRoomParticipantAddress, XmppMessageMetadata> { } }