| Sana.java |
1 package hirsipuu;
2
3 /**
4 * Luokka sana-olion mallintamiseksi. Sana tiet????, mille tasolle kuuluu, sek?? arvattavan sanansa.
5 * @author Anna-Leena Latvala, Toni Purontaka
6 * @version 0.5, 11.3.2008
7 *
8 */
9 public class Sana {
10
11 private int tasonro;
12 private int sananro;
13 public String sana;
14
15 /**
16 * Alustaa sanaolion mahdottomalla tasonumerolla. Oikea alustus saadaan
17 * parsimalla Sanalistan l??hett??m?? rivi.
18 *
19 */
20 public Sana() {
21 sana = "";
22 tasonro = 0;
23 sananro = 0;
24 }
25
26 /**
27 * Alustaa testausta varten sanaoliolle tasonumeron tid ja sanan.
28 * @param tid taso, jolle sana kuuluu
29 * @param sana sanaolion sana
30 */
31 public Sana(int tid, String sana) {
32 this.sana = sana;
33 tasonro = tid;
34 }
35
36 /**
37 * Parsii sanan tiedot syntaktisesti oikeasta merkkijonosta muotoa
38 * tasonro | sananro | sana |, esimerkiksi:
39 * "1 | 2 | koira |"
40 *
41 * @param jono parsittava merkkijono
42 * @return true, mik?li parsiminen onnistui
43 * false, jos syntaksi oli v??r?
44 */
45 public boolean parse(String jono) {
46 StringBuffer jonotus = new StringBuffer(jono);
47 tasonro = Jono.annaId(jonotus);
48 sananro = Jono.annaId(jonotus);
49 sana = Jono.annaMjono(jonotus);
50 return true;
51 }
52
53 /**
54 * Palauttaa Sana-olion sanan.
55 * @return sana
56 */
57 public String getSana() {
58 return sana;
59 }
60
61 /**
62 * Palauttaa, kuuluuko sana tasolle taso.
63 * @param taso pyydetyn tason numero
64 * @return true, jos sana kuuluu pyydetylle tasolle
65 * false muuten
66 */
67 public boolean taso(int taso) {
68 return (taso == tasonro);
69 }
70 }
71