/**********************  StringComparable.java  *****************************/
import AlgoTools.IO;

/** Klasse StringComparable
 *    Implementiert Methode aus Compare und vergleicht damit dies Objekt mit 
 *    dem uebergebenen auf die fuer Strings spezifische Weise.
 *
 *    int compareTo(Object a)
 *         liefert  0, wenn die Strings gleich sind.
 *         liefert <0, wenn dieser String lexikografisch kleiner String a ist
 *         liefert >0, andersrum
 */

public class StringComparable implements Comparable {

  private String s;

  public StringComparable(String s) { this.s = s; }

  /** vergleicht dies String-Objekt mit String-Objekt a 
   *  und liefert  <0, =0 oder >0                                           */
  
  public int compareTo(Comparable a) {
    if(! (a instanceof StringComparable)) // Ist a ein Objekt dieser Klasse?
      IO.error("StringComparable.compare:a("+a+") ist kein StringComparable!");
    return s.compareTo(((StringComparable)a).s);
  }

  public String toString() { return s; }
}
