/*************************  CharComparable.java  ************************/

import AlgoTools.IO;

/**   Implementiert die Methode aus dem Interface Comparable
 *    in der fuer den einfachen Datentyp char spezifischen Weise.
 *
 *    int compareTo(Comparable a)
 *         liefert  0, wenn this == a
 *         liefert <0, wenn this <  a
 *         liefert >0, wenn this >  a
 */
public class CharComparable implements Comparable {

  private char c;

  public CharComparable(char c) { this.c = c; }

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

    // Character-Objekte nach char umwandeln und Differenz zurueckliefern
    return (c - ((CharComparable)a).c);
  }

  public String toString() { return new String("" + c); }
}
