/** Re-create the displayList. Will appear to outside world that only this list exists. */ public void setList(Object masterElement, Tie tie) { Err.pr( SdzNote.CANT_ADD_RS, "$$$ setList called for reference extent, masterElement: " + masterElement); Err.pr( SdzNote.CANT_ADD_RS, "$$$ setList called for reference extent, tie: " + tie.hashCode()); super.setList(masterElement, tie); this.tie = tie; referenceValue = masterElement; displayList.clear(); Object refVal, element; for (Iterator e = hugeList.iterator(); e.hasNext(); ) { element = e.next(); // Err.pr("Looking for " + refField + " in " + element); refVal = tie.getFieldValue(element); debug(refVal, masterElement); if (DOHelperUtils.equalityTest(masterElement, refVal)) // if(masterElement == refVal) { Err.pr(SdzNote.CANT_ADD_RS, "Match found on refVal " + refVal); displayList.add(element); } else { // Err.pr(SdzNote.cantAddRS, ""); // Err.pr(SdzNote.cantAddRS, "NO match found on refVal: " + refVal); // Err.pr(SdzNote.cantAddRS, "WHEN CF WITH: " + masterElement); // Err.pr(SdzNote.cantAddRS, ""); } } hasCombinationExtent.getCombinationExtent().setList(this, tie); }
public void play(Outcome result, Tie tie) { int s1 = p1.play(); int s2 = p2.play(); double player1score = game.score(s1, s2); double player2score = game.score(s2, s1); if (player1score == player2score) { tie.tie(s1, s2, player1score); } else if (player1score > player2score) { result.outcome(p1, s1, player1score, p2, s2, player2score); } else if (player2score > player1score) { result.outcome(p2, s2, player2score, p1, s1, player1score); } }
/** * Current reference value is implicitly set. Are careful to insert in same relative order, * although this depends on hugeList being an ordered list (later NavExtent can have an isOrdered * method so can code both ways). */ public void insert(Object obj, int index) { tie.setFieldValue(obj, referenceValue); Err.pr(SdzNote.BG_ADD, "--------------ReferenceExtent.insert()ing " + obj); displayList.add(index, obj); relativePositionInsert(obj, displayList, hugeList); }