Class Help


  • public class Help
    extends java.lang.Object
    Luokka avustusten tulostamiseksi. Avustustiedoston muoto:
     [SISÄLLYS] - aina etsitään sisällystä tällä aihe- (topic) nimellä.
     Eka aihe - kerrotaan ekasta aiheesta
     Toka aihe - kerrotaan tokasta aiheesta
    
     [Eka aihe]
     Ekassa aiheessa voidaan kuvata mitä vaan ekaan aiheeseen liittyvää
     ja miksei muutakin.
    
     [Toka aihe] - aiheen otsikkorivillä saa olla kommentti
     Tokassa aiheessa sitten tokan aiheen sisällöstä.
     Tietysti aiheita voidaan kirjoittaa niin monta kuin halutaan
     eikä niiden kaikkien tarvitse olla sisällysluettelossa.
     Jos on kamalan pitkä aihe, jonka tulostus halutaan keskeyttää,
     voidaan avustustiedoston rivi aloittaa
     #
     risuaitamerkillä, joka pysäyttää tulostuksen.
     muutenkin tulostetaan vain korkeintaan 23 riviä kerrallaan.
     ; puolipisteellä alkava rivi on kommenttia ja sitä ei tulosteta
     
    Käyttöesimerkkejä:
    Selaillaan koko avustusta. Tulostetaan ensin sisällysluettelo
       try {
         Help h = new Help("kerho.hlp");
         h.browse();
       }
       catch (IOException ioe) {
         System.err.println(ioe);
       }
     
    Tulostetaan valitun aiheen kohdalta:
       h.printMatchingTopics("Li*");  // tulostaa kaikki Li-alkavat aiheet
       h.printTopic("Lisäys");        // tulostaa aiheen Lisäys
       h.helpTopic("Li*");            // tulostaa kaikki Li-alkavat aiheet
     
    Version:
    1.0, 24.03.2003
    Author:
    Vesa Lappalainen, Markku Vire
    • Constructor Summary

      Constructors 
      Constructor Description
      Help()
      Alustetaan tyhjä avustus, johon voi lisätä aiheita metodeilla: addTopic, addLine, readFile.
      Help​(java.lang.String fileName)
      Alustaa avustuksen lukemalla avustukset tiedostosta.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLine​(java.lang.String topic, java.lang.String line)
      Lisätään yksi rivi avustukseen aiheen topic alle.
      java.util.Collection<java.lang.String> addTopic​(java.lang.String topic)
      Lisätään uusi aihe-otsikko avustukseen.
      void browse()
      Selailee avustusta aloittaen kohdasta [SISÄLLYS]
      void browse​(java.lang.String topic)
      Selailee avustusta valitun lohkon kohdalta.
      int getLines()  
      void helpTopic​(java.lang.String topic)
      Tulostaa topic:in mukaisen lohkon avustuksesta.
      static void main​(java.lang.String[] args)
      Testataa Help-luokkaa
      boolean printMatchingTopics​(java.lang.String topic)
      Tulostaa ne avustuksen lohkot jotka täsmäävät hakuehtoon.
      boolean printTopic​(java.lang.String topic)
      Tulostaa valitun lohkon avustuksesta.
      void readFile​(java.lang.String fileName)
      Lukee avustuksen tiedostosta.
      void setLines​(int lines)  
      void setOut​(java.io.PrintStream newout)
      Asetetaan tulostusvirta toiseen paikkaan
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Help

        public Help()
        Alustetaan tyhjä avustus, johon voi lisätä aiheita metodeilla: addTopic, addLine, readFile.
      • Help

        public Help​(java.lang.String fileName)
             throws java.io.IOException
        Alustaa avustuksen lukemalla avustukset tiedostosta. Tiedot kerätään map-tauluun, jossa aiheiden mukaiset merkkijonot avaimina (isoksi muutettuna). Aiheen alaiset rivit on sitten vektorina "avaimen oliona".
        Parameters:
        fileName - tiedosto,josta avustukset luetaan
        Throws:
        java.io.IOException - jos jokin menee pieleen tiedoston lukemisessa
    • Method Detail

      • getLines

        public int getLines()
        Returns:
        kuinka monta riviä tulostetaan korkeintaan pysähtymättä
      • setLines

        public void setLines​(int lines)
        Parameters:
        lines - pysähtymättä tulostettavien rivien lukumäärä
      • addTopic

        public final java.util.Collection<java.lang.String> addTopic​(java.lang.String topic)
        Lisätään uusi aihe-otsikko avustukseen. Tämän jälkeen rivejä voi lisätä otsikon alle
         Collection topic = h.addTopic("Uusi aihe");
         topic.add("Eka rivi");
         topic.add("Toka rivi");
         
        Mikäli aihe on jo olemassa, palautetaan viite vanhaan aiheeseen.
        Parameters:
        topic - lisättävän aiheen otsikko
        Returns:
        tietorakenne, johon voi lisätä rivejä aiheen alle
      • addLine

        public void addLine​(java.lang.String topic,
                            java.lang.String line)
        Lisätään yksi rivi avustukseen aiheen topic alle. Mikäli aihetta ei vielä ole, se luodaan.
        Parameters:
        topic - lisättävän aiheen otsikko
        line - lisättävä rivi
      • setOut

        public void setOut​(java.io.PrintStream newout)
        Asetetaan tulostusvirta toiseen paikkaan
        Parameters:
        newout - mihin tulostus tehdään?
      • readFile

        public final void readFile​(java.lang.String fileName)
                            throws java.io.IOException
        Lukee avustuksen tiedostosta. Voidaan kutsua useita kertoja jolloin voidaan yhdistää monia avustustiedostoja. Tiedot kerätään map-tauluun, jossa aiheiden mukaiset merkkijonot avaimina (isoksi muutettuna). Aiheen alaiset rivit on sitten vektorina "avaimen oliona".
        Parameters:
        fileName - tiedosto,josta avustukset luetaan
        Throws:
        java.io.IOException - jos jokin menee pieleen tiedoston lukemisessa
      • printTopic

        public boolean printTopic​(java.lang.String topic)
        Tulostaa valitun lohkon avustuksesta.
        Parameters:
        topic - tulostettava lohko. Ei saa sisältää jokereita
        Returns:
        painettiinko poistumista (true) vai ei (false) tulostuksen aikana
      • printMatchingTopics

        public boolean printMatchingTopics​(java.lang.String topic)
        Tulostaa ne avustuksen lohkot jotka täsmäävät hakuehtoon.
        Parameters:
        topic - mahdolisesti jokereita * ja ? sisältävä ehto
        Returns:
        painettiinko poistumista (true) vai ei (false) tulostuksen aikana
      • browse

        public void browse​(java.lang.String topic)
        Selailee avustusta valitun lohkon kohdalta. Jos lohko == null niin näytetään kohta [SISÄLLYS]
        Parameters:
        topic - tulostettava avustuksen kohta
      • browse

        public void browse()
        Selailee avustusta aloittaen kohdasta [SISÄLLYS]
      • helpTopic

        public void helpTopic​(java.lang.String topic)
        Tulostaa topic:in mukaisen lohkon avustuksesta.
        Parameters:
        topic - tulostetavan lohkon otsikko tai null jolloin selailee avustusta
      • main

        public static void main​(java.lang.String[] args)
        Testataa Help-luokkaa
        Parameters:
        args - ei käytössä