diff src/alice/codesegment/InputDataSegment.java @ 3:91057e15065f

add DataSegment API and CodeSegment
author one
date Wed, 11 Jan 2012 00:17:27 +0900
parents
children 80375ae09a1f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/codesegment/InputDataSegment.java	Wed Jan 11 00:17:27 2012 +0900
@@ -0,0 +1,38 @@
+package alice.codesegment;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import alice.datasegment.DataSegment;
+import alice.datasegment.DataSegmentManager;
+import alice.datasegment.DataSegmentValue;
+
+public class InputDataSegment {
+	
+	private ConcurrentHashMap<String, DataSegmentValue> inputDataSegments = new ConcurrentHashMap<String, DataSegmentValue>();
+	private CodeSegment cs;
+	private AtomicInteger count = new AtomicInteger();
+	
+	public InputDataSegment(CodeSegment cs) {
+		this.cs = cs;
+	}
+	
+	public void peek(String managerKey, String key) {
+		peek(managerKey, key, 0);
+	}
+	
+	public void peek(String managerKey, String key, int index) {
+		DataSegment.get(managerKey).peek(key, index, cs);
+		count.getAndIncrement();
+	}
+
+	public void take(String managerKey, String key) {
+		take(managerKey, key, 0);
+	}
+	
+	public void take(String managerKey, String key, int index) {
+		DataSegment.get(managerKey).take(key, index, cs);
+		count.getAndIncrement();
+	}
+	
+}