diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-17 14:55:16 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-17 14:55:16 +0000 |
| commit | 271949bf140359dd97cbee9ef927ee9280c9f31f (patch) | |
| tree | 31cd0e175401d2041e23128402c235eb6d2e3117 /sources/core/VSVectorTime.java | |
| parent | 5a0924146201bc577ca170952a21a42464ac7c71 (diff) | |
Vectortimestamps work
Better representation of Lamporttimestamps
BerkelyTimeProtocol
M trunk/ROADMAP
M trunk/sources/prefs/VSPrefs.java
M trunk/sources/prefs/VSDefaultPrefs.java
M trunk/sources/simulator/VSMain.java
M trunk/sources/simulator/VSSimulation.java
M trunk/sources/simulator/VSSimulationPanel.java
M trunk/sources/utils/VSFrame.java
M trunk/sources/utils/VSClassLoader.java
M trunk/sources/utils/VSInfoArea.java
M trunk/sources/protocols/BroadcastSturmProtocol.java
M trunk/sources/protocols/ExternalTimeSyncProtocol.java
M trunk/sources/protocols/RegisteredProtocols.java
M trunk/sources/protocols/PingPongProtocol.java
M trunk/sources/protocols/InternalTimeSyncProtocol.java
M trunk/sources/protocols/VSProtocol.java
M trunk/sources/protocols/DummyProtocol.java
A trunk/sources/protocols/BerkelyTimeProtocol.java
M trunk/sources/core/VSLamport.java
M trunk/sources/core/VSProcess.java
A trunk/sources/core/VSTime.java
A trunk/sources/core/VSVectorTime.java
M trunk/sources/core/VSTask.java
M trunk/sources/core/VSMessage.java
M trunk/sources/editors/VSEditor.java
M trunk/sources/editors/VSProtocolEditor.java
M trunk/sources/editors/VSSimulationEditor.java
M trunk/sources/editors/VSEditorFrame.java
M trunk/sources/editors/VSProcessEditor.java
Diffstat (limited to 'sources/core/VSVectorTime.java')
| -rw-r--r-- | sources/core/VSVectorTime.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/sources/core/VSVectorTime.java b/sources/core/VSVectorTime.java new file mode 100644 index 0000000..70a62a2 --- /dev/null +++ b/sources/core/VSVectorTime.java @@ -0,0 +1,52 @@ +package core; + +import java.util.ArrayList; + +public class VSVectorTime extends ArrayList<Long> implements VSTime { + /* Only needed for painting in the painting panel */ + private long globalTime; + + public VSVectorTime(long globalTime) { + this.globalTime = globalTime; + } + + public long[] toLongArray() { + final int size = super.size(); + final long[] arr = new long[size]; + + for (int i = 0; i < size; ++i) + arr[i] = super.get(i).longValue(); + + return arr; + } + + public void setGlobalTime(long globalTime) { + this.globalTime = globalTime; + } + + public long getGlobalTime() { + return globalTime; + } + + public VSVectorTime getCopy() { + final VSVectorTime vectorTime = new VSVectorTime(globalTime); + final int size = super.size(); + + for (int i = 0; i < size; ++i) + vectorTime.add(super.get(i)); + + return vectorTime; + } + + public String toString() { + final int size = super.size(); + final StringBuffer buffer = new StringBuffer(); + buffer.append("("); + + for (int i = 0; i < size-1; ++i) + buffer.append(super.get(i)+","); + buffer.append(super.get(size-1)+")"); + + return buffer.toString(); + } +} |
