diff options
Diffstat (limited to 'sources/core/VSMessage.java')
| -rw-r--r-- | sources/core/VSMessage.java | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/sources/core/VSMessage.java b/sources/core/VSMessage.java deleted file mode 100644 index eca2001..0000000 --- a/sources/core/VSMessage.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (c) 2008 Paul C. Buetow, vs@dev.buetow.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * All icons of the icons/ folder are under a Creative Commons - * Attribution-Noncommercial-Share Alike License a CC-by-nc-sa. - * - * The icon's homepage is http://code.google.com/p/ultimate-gnome/ - */ - -package core; - -import core.time.*; -import events.*; -import prefs.VSPrefs; - -/** - * An object of this class represents a message which is sent from one process - * to another process in the simulator. - * - * @author Paul C. Buetow - */ -public class VSMessage extends VSPrefs { - /** The serial version uid */ - private static final long serialVersionUID = 1L; - - /** The constant IS_SERVER_MESSAGE. */ - public static final boolean IS_SERVER_MESSAGE = true; - - /** The constant IS_CLIENT_MESSAGE. */ - public static final boolean IS_CLIENT_MESSAGE = false; - - /** true, if the message has been sent from a server. false, if the message - * has been sent from a client. - */ - private boolean isServerMessage; - - /** Each message belongs to a specific protocol. This variable defined the - * class name of the protocol being used. - */ - private String protocolClassname; - - /** The default application preferences. */ - private VSPrefs prefs; - - /** A reference to the process who sent this message. */ - private VSInternalProcess sendingProcess; - - /** The vector time of the sending process after sending. The receiver - * process will use this vector time in order to update the local vector - * time. - */ - private VSVectorTime vectorTime; - - /** The lamport time of the sending process after sending. The receiver - * process will use this lamport time in order to update the local vector - * time. - */ - private long lamportTime; - - /** Each message has its own unique ID. The ID will show up in the loging - * window of the simulator - */ - private long messageID; - - /** This counter is used in order to generate unique message ID's. */ - private static long messageCounter; - - /** - * The constructor of the message. Creates a new message object. - */ - public VSMessage() { - this.messageID = ++messageCounter; - } - - /** - * Initializes the message. - * - * @param process The sending process of this message. - * @param protocolClassname The classname of the protocol this message. - * @param isServerMessage Sets if the message has been sent by a server. - */ - void init(VSInternalProcess process, String protocolClassname, - boolean isServerMessage) { - this.sendingProcess = process; - this.protocolClassname = protocolClassname; - this.isServerMessage = isServerMessage; - this.prefs = process.getPrefs(); - - lamportTime = sendingProcess.getLamportTime(); - vectorTime = sendingProcess.getVectorTime().getCopy(); - } - - /** - * Gets the protocol name of the message. - * - * @return The protocol name of the message. - */ - public String getName() { - return VSRegisteredEvents.getNameByClassname(getProtocolClassname()); - } - - /** - * Gets the protocol classname. - * - * @return The protocol classname of the message. - */ - public String getProtocolClassname() { - return protocolClassname; - } - - /** - * Gets the message id. - * - * @return The id of the message. - */ - public long getMessageID() { - return messageID; - } - - /** - * Gets a reference of the sending process. - * - * @return The process which sent this message. - */ - public VSAbstractProcess getSendingProcess() { - return sendingProcess; - } - - /** - * Gets the lamport time. - * - * @return The lamport time of the sending process. - */ - public long getLamportTime() { - return lamportTime; - } - - /** - * Gets the vector time. - * - * @return The vector time of the sending process. - */ - public VSVectorTime getVectorTime() { - return vectorTime; - } - - /** - * Checks if the message has been sent by a server or a client. - * - * @return true, if the message has been sent by a server. false, if the - * message has been sent by a client. - */ - public boolean isServerMessage() { - return isServerMessage; - } - - /* (non-Javadoc) - * @see prefs.VSPrefs#toString() - */ - public String toString() { - StringBuffer buffer = new StringBuffer(); - - buffer.append("ID: "); - buffer.append(messageID); - buffer.append("; "); - buffer.append(prefs.getString("lang.en.protocol")); - buffer.append(": "); - buffer.append(VSRegisteredEvents.getShortnameByClassname( - getProtocolClassname())); - - return buffer.toString(); - } - - /** - * Extended string representation of the message object. - * - * @return Extended string representation of the message object. - */ - public String toStringFull() { - return toString() + "; " + super.toString(); - } - - /** - * Compares two messages. - * - * @param message The message to compare with. - * - * @return true, if the messages have the same id. Otherwise false. - */ - public boolean equals(VSMessage message) { - return messageID == message.getMessageID(); - } -} - |
