1 package jp.naist.se.stigmata.result;
\r
7 import java.util.ArrayList;
\r
8 import java.util.Iterator;
\r
9 import java.util.List;
\r
11 import jp.naist.se.stigmata.BirthmarkContext;
\r
12 import jp.naist.se.stigmata.BirthmarkSet;
\r
13 import jp.naist.se.stigmata.ExtractionTarget;
\r
14 import jp.naist.se.stigmata.utils.MultipleIterator;
\r
18 * @author Haruaki Tamada
\r
19 * @version $Revision$ $Date$
\r
21 public class MemoryExtractionResultSet extends AbstractExtractionResultSet{
\r
22 private List<BirthmarkSet> targetX = new ArrayList<BirthmarkSet>();
\r
23 private List<BirthmarkSet> targetY = new ArrayList<BirthmarkSet>();
\r
25 public MemoryExtractionResultSet(BirthmarkContext context){
\r
26 this(context, true);
\r
29 public MemoryExtractionResultSet(BirthmarkContext context, boolean tableType){
\r
30 super(context, tableType);
\r
33 public void removeAllBirthmarkSets(ExtractionTarget target){
\r
44 throw new IllegalArgumentException("unknown target: " + target);
\r
48 public void removeBirthmarkSet(ExtractionTarget target, BirthmarkSet set){
\r
52 targetX.remove(set);
\r
55 targetY.remove(set);
\r
59 throw new IllegalArgumentException("unknown target: " + target);
\r
63 public void addBirthmarkSet(ExtractionTarget target, BirthmarkSet set){
\r
74 throw new IllegalArgumentException("unknown target: " + target);
\r
78 public Iterator<BirthmarkSet> birthmarkSets(ExtractionTarget target){
\r
79 Iterator<BirthmarkSet> iterator;
\r
83 iterator = targetX.iterator();
\r
86 iterator = targetY.iterator();
\r
90 MultipleIterator<BirthmarkSet> i = new MultipleIterator<BirthmarkSet>();
\r
91 i.add(targetX.iterator());
\r
92 i.add(targetY.iterator());
\r
98 public int getBirthmarkSetSize(ExtractionTarget target){
\r
103 count = targetX.size();
\r
106 count = targetY.size();
\r
110 count = targetX.size() + targetY.size();
\r
116 public BirthmarkSet getBirthmarkSet(ExtractionTarget target, int index){
\r
120 set = targetX.get(index);
\r
123 set = targetY.get(index);
\r
128 if(index < targetX.size()){
\r
129 set = targetX.get(index);
\r
132 set = targetY.get(index - targetX.size());
\r
139 public BirthmarkSet[] getBirthmarkSets(ExtractionTarget target){
\r
140 BirthmarkSet[] sets;
\r
144 sets = targetX.toArray(new BirthmarkSet[targetX.size()]);
\r
147 sets = targetY.toArray(new BirthmarkSet[targetX.size()]);
\r
151 sets = new BirthmarkSet[targetX.size() + targetY.size()];
\r
152 System.arraycopy(targetX.toArray(new BirthmarkSet[targetX.size()]), 0, sets, 0, targetX.size());
\r
153 System.arraycopy(targetY.toArray(new BirthmarkSet[targetY.size()]), 0, sets, targetX.size(), targetY.size());
\r