Package fi.jyu.mit.ohj2
Class Help
- java.lang.Object
-
- fi.jyu.mit.ohj2.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ällysluettelotry { 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
-
-
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-luokkaaboolean
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
-
-
-
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 alleCollection 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 otsikkoline
- 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ä
-
-