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

/**  Implementiert das Interface Comparable fuer Strings                      */

public class StringComparable implements Comparable {

  private String s;                              // lokale Variable                           
  public StringComparable(String s)              // Konstruktor 
    { this.s = s; }

  public int compareTo(Object a){  
      //  vergleicht beide Strings (d.h. sich selbst mit dem uebergebenen)
      //  liefert  0, wenn die Strings gleich sind
      //  liefert <0, wenn dieser String lexikografisch kleiner als String a ist
      //  liefert >0, andersrum

    if(! (a instanceof StringComparable))        // liegt ein String vor ? 
      throw new RuntimeException                 // falls nicht: Fehlermeldung
      ("StringComparable.compare:a("
       + a + ") ist kein StringComparable!");

    return s.compareTo(((StringComparable)a).s); // benutzt zum Vergleich 
                                                 // die Methode compareTo
                                                 // der Klasse String
  }

  public String toString() { return s; }         // Darstellung des Objekts
}
