]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.browsing.ui.common/src/org/simantics/browsing/ui/common/Preference.java
Still working for multiple readers
[simantics/platform.git] / bundles / org.simantics.browsing.ui.common / src / org / simantics / browsing / ui / common / Preference.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.browsing.ui.common;
13
14 /**
15  * A generic wrapper that associates a double-based preference indicator value
16  * for any object. This class can be used make objects comparable.
17  * 
18  * @author Tuukka Lehtonen
19  * 
20  * @param <T> the type of the object to be made comparable
21  */
22 public class Preference<T> implements Comparable<Preference<T>> {
23     public final T      object;
24     public final double preference;
25
26     public Preference(T object, double preference) {
27         this.object = object;
28         this.preference = preference;
29     }
30
31     @Override
32     public int compareTo(Preference<T> other) {
33         if (preference == other.preference)
34             return 0;
35         return (preference > other.preference) ? -1 : 1;
36     }
37     
38     @Override
39     public String toString() {
40         return object + " with preference " + preference;
41     }
42     
43 }