source: src/main/java/agents/anac/y2014/AgentYK/PairBidElementIterator.java

Last change on this file was 1, checked in by Wouter Pasman, 6 years ago

Initial import : Genius 9.0.0

File size: 1.5 KB
Line 
1package agents.anac.y2014.AgentYK;
2
3import java.util.ArrayList;
4import java.util.List;
5import java.util.NoSuchElementException;
6
7import genius.core.Bid;
8import genius.core.issue.Issue;
9
10public class PairBidElementIterator implements java.util.Iterator<PairBidElement>{
11 private Bid bid;
12 private List<Integer> issueNrs;
13 private int index1,index2;
14
15 public PairBidElementIterator(Bid bid) {
16 this.bid = new Bid(bid);
17 this.issueNrs = new ArrayList<Integer>();
18 for(Issue issue:this.bid.getIssues()) {
19 this.issueNrs.add(issue.getNumber());
20 }
21 this.index1 = 0;
22 this.index2 = 1;
23 }
24
25 @Override
26 public boolean hasNext() {
27 if(index1 <= (this.issueNrs.size() - 2) && index2 <= (this.issueNrs.size() - 1)) {
28 return true;
29 } else {
30 return false;
31 }
32 }
33
34 @Override
35 public PairBidElement next() throws NoSuchElementException{
36 if(this.hasNext()) {
37 int fstIssueNr = this.issueNrs.get(this.index1);
38 int sndIssueNr = this.issueNrs.get(this.index2);
39 try {
40 BidElement fst = new BidElement(fstIssueNr, this.bid.getValue(fstIssueNr));
41 BidElement snd = new BidElement(sndIssueNr, this.bid.getValue(sndIssueNr));
42 this.index2++;
43 if(this.index2 >= this.issueNrs.size()) {
44 this.index1++;
45 this.index2 = this.index1 + 1;
46 }
47 return new PairBidElement(fst, snd);
48 } catch(Exception e){}
49 } else {
50 throw new NoSuchElementException();
51 }
52 return null;
53 }
54
55 @Override
56 public void remove() throws UnsupportedOperationException {
57 throw new UnsupportedOperationException();
58 }
59
60}
Note: See TracBrowser for help on using the repository browser.