Mercurial > hg > Database > Alice
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:f71eabb1df2a | 3:91057e15065f |
---|---|
1 package alice.codesegment; | |
2 | |
3 import java.util.concurrent.ConcurrentHashMap; | |
4 import java.util.concurrent.atomic.AtomicInteger; | |
5 | |
6 import alice.datasegment.DataSegment; | |
7 import alice.datasegment.DataSegmentManager; | |
8 import alice.datasegment.DataSegmentValue; | |
9 | |
10 public class InputDataSegment { | |
11 | |
12 private ConcurrentHashMap<String, DataSegmentValue> inputDataSegments = new ConcurrentHashMap<String, DataSegmentValue>(); | |
13 private CodeSegment cs; | |
14 private AtomicInteger count = new AtomicInteger(); | |
15 | |
16 public InputDataSegment(CodeSegment cs) { | |
17 this.cs = cs; | |
18 } | |
19 | |
20 public void peek(String managerKey, String key) { | |
21 peek(managerKey, key, 0); | |
22 } | |
23 | |
24 public void peek(String managerKey, String key, int index) { | |
25 DataSegment.get(managerKey).peek(key, index, cs); | |
26 count.getAndIncrement(); | |
27 } | |
28 | |
29 public void take(String managerKey, String key) { | |
30 take(managerKey, key, 0); | |
31 } | |
32 | |
33 public void take(String managerKey, String key, int index) { | |
34 DataSegment.get(managerKey).take(key, index, cs); | |
35 count.getAndIncrement(); | |
36 } | |
37 | |
38 } |