Line | |
---|
1 | package geniusweb.profile;
|
---|
2 |
|
---|
3 | import org.eclipse.jdt.annotation.NonNull;
|
---|
4 |
|
---|
5 | import geniusweb.issuevalue.Bid;
|
---|
6 |
|
---|
7 | /**
|
---|
8 | * Defines a is-better relation between bids. This basically is a partially
|
---|
9 | * ordered space however some bids or groups of bids may not be relatable to
|
---|
10 | * others.
|
---|
11 | */
|
---|
12 | public interface PartialOrdering extends Profile {
|
---|
13 |
|
---|
14 | /**
|
---|
15 | * @param bid1 the first item's utility/preference
|
---|
16 | * @param bid2 the second item's utility/preference
|
---|
17 | * @return true iff bid1 is considered better or equal (≥) than bid 2. In
|
---|
18 | * all other cases false is returned. A bid may not have a ≥
|
---|
19 | * relation at all.
|
---|
20 | *
|
---|
21 | * This predicate should be implemented such that
|
---|
22 | * <ul>
|
---|
23 | * <li>b ≥ b (every bid is better or equal to itself)
|
---|
24 | * <li>If b1≥b2 and b2≥b1 then the two bids are considered
|
---|
25 | * equally good. Note that this differes from a partial order in
|
---|
26 | * mathematics.
|
---|
27 | * <li>it behaves transitive: if b1≥b2 and b2≥b3 then
|
---|
28 | * b1≥b3.
|
---|
29 | * </ul>
|
---|
30 | */
|
---|
31 | boolean isPreferredOrEqual(final @NonNull Bid bid1,
|
---|
32 | final @NonNull Bid bid2);
|
---|
33 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.