Rev | Line | |
---|
[519] | 1 | package geniusweb.profile;
|
---|
| 2 |
|
---|
[804] | 3 | import org.eclipse.jdt.annotation.NonNull;
|
---|
| 4 |
|
---|
[519] | 5 | import geniusweb.issuevalue.Bid;
|
---|
| 6 |
|
---|
| 7 | /**
|
---|
| 8 | * As {@link PartialOrdering}, but with more strict requirement on
|
---|
| 9 | * {@link #isPreferredOrEqual(geniusweb.issuevalue.Bid, geniusweb.issuevalue.Bid)}
|
---|
| 10 | */
|
---|
| 11 | public interface FullOrdering extends PartialOrdering {
|
---|
| 12 | /**
|
---|
| 13 | * @param bid1 the first item's utility/preference
|
---|
| 14 | * @param bid2 the second item's utility/preference
|
---|
| 15 | * @return true iff bid1 is considered better or equal (≥) than bid 2. In
|
---|
| 16 | * all other cases false is returned.
|
---|
| 17 | *
|
---|
| 18 | * This predicate should be implemented such that
|
---|
| 19 | * <ul>
|
---|
| 20 | * <li>For all b1 and b2, either b1 ≥ b2 or b2 ≥ b1.
|
---|
| 21 | * <li>b ≥ b (every bid is better or equal to itself)
|
---|
| 22 | * <li>If b1≥b2 and b2≥b1 then the two bids are considered
|
---|
| 23 | * equally good. Note that this differes from a partial order in
|
---|
| 24 | * mathematics.
|
---|
| 25 | * <li>it behaves transitive: if b1≥b2 and b2≥b3 then
|
---|
| 26 | * b1≥b3.
|
---|
| 27 | * </ul>
|
---|
| 28 | */
|
---|
| 29 | @Override
|
---|
[804] | 30 | boolean isPreferredOrEqual(final @NonNull Bid bid1,
|
---|
| 31 | final @NonNull Bid bid2);
|
---|
[519] | 32 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.