source: java2python/geniuswebtranslator/geniuswebsrc/geniusweb/profile/PartialOrdering.java@ 889

Last change on this file since 889 was 804, checked in by wouter, 6 months ago

#278 added NonNull annotation in many places in the geniusweb code

File size: 1.1 KB
Line 
1package geniusweb.profile;
2
3import org.eclipse.jdt.annotation.NonNull;
4
5import 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 */
12public 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 &ge; b (every bid is better or equal to itself)
24 * <li>If b1&ge;b2 and b2&ge;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&ge;b2 and b2&ge;b3 then
28 * b1&ge;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.