001: /*
002: * <copyright>
003: *
004: * Copyright 1997-2004 BBNT Solutions, LLC
005: * under sponsorship of the Defense Advanced Research Projects
006: * Agency (DARPA).
007: *
008: * You can redistribute this software and/or modify it under the
009: * terms of the Cougaar Open Source License as published on the
010: * Cougaar Open Source Website (www.cougaar.org).
011: *
012: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
013: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
014: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
015: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
016: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
017: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
018: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
019: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
020: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
021: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
022: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
023: *
024: * </copyright>
025: */
026:
027: package org.cougaar.core.node;
028:
029: import org.cougaar.core.mts.Message;
030: import org.cougaar.core.mts.MessageAddress;
031:
032: /**
033: * @deprecated unused {@link Message} base for nodes.
034: */
035: public class NodeMessage extends Message {
036: //
037: // Unlike ClusterMessage there is no IncarnationNumber. This might
038: // be required in the future for reliable Node communication.
039: //
040:
041: /**
042: * Constructor
043: * <p>
044: * @param s The MessageAddress of creator node
045: * @param d The MessageAddress of the target node
046: */
047: public NodeMessage(MessageAddress s, MessageAddress d) {
048: super (s, d);
049: }
050:
051: /**
052: * no-arg Constructor.
053: * This is not generally allowed in 1.1 event handling because
054: * EventObject requires a source object during construction. Base
055: * class does not support this type of construction so it cannot
056: * be done here.
057: */
058: public NodeMessage() {
059: super ();
060: }
061:
062: /**
063: * We provide the translation from the object version. Unfortunately
064: * we cannot return a different type in java method overloading so the
065: * method signature is changed. Mark it final to allow the compilier
066: * to inline optimize the function.
067: * @return MessageAddress Identifies the originator of this directive
068: */
069: public final MessageAddress getSource() {
070: return (MessageAddress) getOriginator();
071: }
072:
073: /**
074: * We provide the translation from the Object version in Message to the
075: * Type sepecific version for the Node messageing subsystem.
076: * Mark it final to allow the compilier to inline optimize the function.
077: * @return MessageAddress Identifies the reciever of the directive
078: */
079: public final MessageAddress getDestination() {
080: return (MessageAddress) getTarget();
081: }
082:
083: /**
084: * Source is stored as na object so that message can service all objects.
085: * Mark it final to allow the compilier to inline optimize the function.
086: * @param asource - Set the MessageAddress of the originator of this message
087: */
088: public final void setSource(MessageAddress asource) {
089: setOriginator(asource);
090: }
091:
092: /**
093: * Target is stored as na object so that message can service all objects.
094: * Mark it final to allow the compilier to inline optimize the function.
095: * @param adestination - Set the MessageAddress of the receiver of this message
096: */
097: public final void setDestination(MessageAddress adestination) {
098: setTarget(adestination);
099: }
100:
101: public String toString() {
102: return "<NodeMessage " + getSource() + " - " + getDestination()
103: + ">";
104: }
105: }
|