Generierte Dokumentation der praktischen Arbeit von Simon Tiffert

Hauptseite | Pakete | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

# MyLineNumberReader.java

gehe zur Dokumentation dieser Datei

    00001 /*
    00002  *
    00003  * Datei:   MyLineNumberReader.java
    00004  *
    00005  * ---------------------------------
    00006  *
    00007  * Datum:           $Date: 2004/05/13 08:48:03 $
    00008  * Autor:           Simon Tiffert
    00009  * Prüfungsnummer:  40
    00010  * Firma:           T-Systems
    00011  * eMail-Adresse:   simon.tiffert@t-systems.com
    00012  * Version:         $Revision: 1.4 $
    00013  *
    00014  * ---------------------------------
    00015  *
    00016  */
    00017 package main.tools.eingabe;
    00018
    00019 import java.io.IOException;
    00020 import java.io.LineNumberReader;
    00021 import java.io.Reader;
    00022
    00023 /**
    00024  * Klasse, welche Zeilenendkommentar überliest
    00025  *
    00026  * @version $Revision: 1.4 $
    00027  * @author Simon Tiffert
    00028  */
    00029 public class MyLineNumberReader extends LineNumberReader
    00030 {
    00031   //Kommentar, der überlesen werden soll
    00032   private String kommentar = "";
    00033
    00034   /**
    00035    * Der Kommentar, der überlesen werden soll, wird definiert und
    00036    * der Standardkonstruktor der Superklasse wird aufgerufen.
    00037    *
    00038    * @param reader
    00039    * @param kommentar
    00040    */
    00041   public MyLineNumberReader(Reader reader, String kommentar)
    00042   {
    00043     // Konstruktor der Superklasse und setzen des Kommentars
    00044     super(reader);
    00045     this.kommentar = kommentar;
    00046   }
    00047
    00048   /**
    00049    * Die Funktionalität der Supermethode wird
    00050    * beibehalten, allerdings werden Zeilen, die mit
    00051    * einem oben definierten Kommentar beginnen, nicht mit
    00052    * ausgegeben.
    00053    *
    00054    * @see java.io.BufferedReader#readLine()
    00055    */
    00056   public String readLine() throws IOException
    00057   {
    00058     // Der Ausgabestring wird mit der ersten Zeile vorbesetzt, aus der
    00059     // Kommentar und Zwischenraumzeichen entfernt wurden
    00060     String ausgabe = stripLine(super.readLine());
    00061
    00062     // wenn die Ausgabe nicht null ist
    00063     if (ausgabe != null)
    00064     {
    00065       // solange nur noch ein leerer String übrig bleibt, lese
    00066       // die nächste Zeile und entferne Kommentar und weitere
    00067       // Zwischenraumzeichen
    00068       while (ausgabe.length() == 0)
    00069       {
    00070         ausgabe = stripLine(super.readLine());
    00071
    00072         // wenn die Zeile null ist, so gebe dies zurück
    00073         if (ausgabe == null)
    00074         {
    00075           return ausgabe;
    00076         }
    00077       }
    00078     }
    00079
    00080     // gib die überarbeitete Zeile zurück
    00081     return ausgabe;
    00082   }
    00083
    00084   /**
    00085    * Diese Funktion entfernt Zeilenendkommentar
    00086    *
    00087    * @param zeile Die Zeile, die bearbeitet werden soll
    00088    * @return Die Zeile, in der kein Kommentar mehr steht
    00089    */
    00090   private String stripLine(String zeile)
    00091   {
    00092     // wenn die Zeile ungleich null ist, bearbeite sie
    00093     if (zeile != null)
    00094     {
    00095       // wenn Kommentar vorhanden ist, schneide diesen ab
    00096       if (zeile.indexOf(kommentar) >= 0)
    00097       {
    00098         // entferne unnötige Leerzeichen an Anfang und Ende
    00099         return zeile.substring(0, zeile.indexOf(kommentar)).trim();
    00100       }
    00101       else
    00102       {
    00103         // entferne unnötige Leerzeichen an Anfang und Ende
    00104         return zeile.trim();
    00105       }
    00106     }
    00107
    00108     // gib die Zeile zurück
    00109     return zeile;
    00110   }
    00111 }

Documentation created with Doxygen 1.3.6 | Fri May 14 11:15:27 2004