summaryrefslogtreecommitdiff
path: root/sources/core/VSVectorTime.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-17 14:55:16 +0000
committerPaul Buetow <paul@buetow.org>2008-05-17 14:55:16 +0000
commit271949bf140359dd97cbee9ef927ee9280c9f31f (patch)
tree31cd0e175401d2041e23128402c235eb6d2e3117 /sources/core/VSVectorTime.java
parent5a0924146201bc577ca170952a21a42464ac7c71 (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.java52
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();
+ }
+}