package pl.radical.open.gg; /** * An abstract implementation of <code>IMessage</code> that is common for incoming and outgoing messages. * * @author <a href="mailto:mnaglik@gazeta.pl">Marcin Naglik</a> */ public abstract class AbstractMessage implements IMessage { /** Uin of the Gadu-Gadu user */ protected int recipientUin = -1; /** The body of the message */ protected String m_messageBody = null; /** The message class associated with this message */ protected MessageClass m_messageClass = null; protected int m_messageID = -1; protected AbstractMessage(final int recepientUin, final String messageBody, final MessageClass messageClass) { if (recepientUin < 0) { throw new IllegalArgumentException("uin cannot be less than 0"); } if (messageBody == null) { throw new IllegalArgumentException("messageBody cannot be null"); } if (messageClass == null) { throw new IllegalArgumentException("messageClass cannot be null"); } this.recipientUin = recepientUin; m_messageBody = messageBody; m_messageClass = messageClass; } /** * @see pl.radical.open.gg.IMessage#getRecipientUin() */ public int getRecipientUin() { return recipientUin; } /** * @see pl.radical.open.gg.IMessage#getMessageBody() */ public String getMessageBody() { return m_messageBody; } /** * @see pl.radical.open.gg.IMessage#getMessageID() */ public int getMessageID() { return m_messageID; } /** * @see pl.radical.open.gg.IMessage#getMessageClass() */ public MessageClass getMessageClass() { return m_messageClass; } /** * @see java.lang.Object#toString() */ @Override public String toString() { return "[RecipientUin: " + recipientUin + ", messageBody: " + m_messageBody + ", messageClass: " + m_messageClass + "]"; } }