schmitzm.lang
Class ComparableObject<K extends Comparable,V>

java.lang.Object
  extended by schmitzm.lang.ComparableObject<K,V>
All Implemented Interfaces:
Comparable

public class ComparableObject<K extends Comparable,V>
extends Object
implements Comparable

Diese Klasse dient dazu, ein beliebiges Objekt vergleichbar zu machen. Hierzu verbindet eine diese ComparableObject das Objekt mit einem vergleichbaren Key, so dass ein Tupel entsteht, welches z.B. in ein TreeSet eingefuegt werden kann.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Constructor Summary
ComparableObject(K key, V obj)
          Erzeugt ein neues Tupel
ComparableObject(K key, V obj, boolean onlyObj)
          Erzeugt ein neues Tupel
 
Method Summary
 int compareTo(Object o)
          Vergleicht den Schluessel dieses Objekts mit einem anderen.
 boolean equals(Object o)
          Vergleicht das ComparableObject mit einem anderen.
 K getKey()
          Liefert den Schluessel.
 V getObject()
          Liefert das Objekt.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComparableObject

public ComparableObject(K key,
                        V obj)
Erzeugt ein neues Tupel

Parameters:
key - Key-Wert ueber den das Objekt verglichen wird (muss eine Comparable-Instanz sein!)
obj - beliebiges Objekt, dem der Key key zugeordnet ist

ComparableObject

public ComparableObject(K key,
                        V obj,
                        boolean onlyObj)
Erzeugt ein neues Tupel

Parameters:
key - Key-Wert ueber den das Objekt verglichen wird (muss eine Comparable-Instanz sein!)
obj - beliebiges Objekt, dem der Key key zugeordnet ist
onlyObj - wenn true wird in der equals(Object)-Methode nur auf obj verglichen. Standardmaessig vergleicht die equals(Object)-Methode obj und key.
Method Detail

getObject

public V getObject()
Liefert das Objekt.


getKey

public K getKey()
Liefert den Schluessel.


compareTo

public int compareTo(Object o)
Vergleicht den Schluessel dieses Objekts mit einem anderen. Liefert nur 0, wenn o mit this uebereinstimmt!

Specified by:
compareTo in interface Comparable
Parameters:
o - zu vergleichendes Objekt (kann ein anderes ComparableObject sein oder eine Comparable-Instanz)
Returns:
einen negativen Wert, falls dieses Objekt kleiner ist als o;
einen positiven Wert, falls dieses Objekt groesser ist als o;
0, falls die beiden Objekte identisch sind

equals

public boolean equals(Object o)
Vergleicht das ComparableObject mit einem anderen. Wurde im Konstruktor das onlyObj-Flag auf true gesetzt, wird an dieser Stelle nur das Objekt auf Gleichheit verglichen, ansonsten auch der Key.

Overrides:
equals in class Object
Parameters:
o - ein anderes ComparableObject