001: /*
002: * <copyright>
003: *
004: * Copyright 2002-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: package org.cougaar.core.examples.mobility.ldm;
027:
028: import java.io.Serializable;
029: import org.cougaar.core.util.UID;
030: import org.cougaar.core.util.UniqueObject;
031:
032: /**
033: * Package-private implementation for a script proc.
034: */
035: class ProcImpl implements Proc, Serializable {
036:
037: private final UID uid;
038: private final UID scriptUID;
039: private final long startTime;
040: private long endTime;
041: private UID stepUID;
042: private int moveCount;
043: private int scriptIndex;
044:
045: public ProcImpl(UID uid, UID scriptUID, long startTime) {
046: this .uid = uid;
047: this .scriptUID = scriptUID;
048: this .startTime = startTime;
049: if ((uid == null) || (scriptUID == null)) {
050: throw new IllegalArgumentException("Null uid/scriptUID");
051: }
052: scriptIndex = -1;
053: }
054:
055: public UID getUID() {
056: return uid;
057: }
058:
059: public void setUID(UID uid) {
060: throw new UnsupportedOperationException();
061: }
062:
063: public UID getScriptUID() {
064: return scriptUID;
065: }
066:
067: public long getStartTime() {
068: return startTime;
069: }
070:
071: public long getEndTime() {
072: return endTime;
073: }
074:
075: public int getMoveCount() {
076: return moveCount;
077: }
078:
079: public UID getStepUID() {
080: return stepUID;
081: }
082:
083: public int getScriptIndex() {
084: return scriptIndex;
085: }
086:
087: public void setEndTime(long time) {
088: endTime = time;
089: }
090:
091: public void setMoveCount(int count) {
092: moveCount = count;
093: }
094:
095: public void setStepUID(UID uid) {
096: stepUID = uid;
097: }
098:
099: public void setScriptIndex(int index) {
100: scriptIndex = index;
101: }
102:
103: public boolean equals(Object o) {
104: if (o == this ) {
105: return true;
106: } else if (!(o instanceof LocalStepImpl)) {
107: return false;
108: } else {
109: UID u = ((LocalStepImpl) o).uid;
110: return uid.equals(u);
111: }
112: }
113:
114: public int hashCode() {
115: return uid.hashCode();
116: }
117:
118: public String toString() {
119: return "Proc {" + "\n uid: " + uid + "\n scriptUID: "
120: + scriptUID + "\n startTime: " + startTime
121: + "\n endTime: " + endTime + "\n stepUID: " + stepUID
122: + "\n moveCount: " + moveCount + "\n scriptIndex: "
123: + scriptIndex + "\n}";
124: }
125: }
|