| PerusKentta.java |
1 package kanta;
2
3 /**
4 * Peruskenttä joka implementoi kysymyksen käsittelyn
5 * ja tarkistajan käsittelyn.
6 *
7 * @author Vesa Lappalainen
8 * @version 1.0, 22.02.2003
9 * @version 1.3, 02.04.2003
10 */
11 public abstract class PerusKentta implements Kentta { // NOPMD
12 private final String kysymys;
13
14 /**
15 * Yleisen tarkistajan viite
16 */
17 protected Tarkistaja tarkistaja = null;
18
19 /**
20 * Alustetaan kenttä kysymyksen tiedoilla.
21 * @param kysymys joka esitetään kenttää kysyttäessä.
22 */
23 public PerusKentta(String kysymys) { this.kysymys = kysymys; }
24
25 /**
26 * Alustetaan kysymyksellä ja tarkistajalla.
27 * @param kysymys joka esitetään kenttää kysyttäessä.
28 * @param tarkistaja tarkistajaluokka joka tarkistaa syötän oikeellisuuden
29 */
30 public PerusKentta(String kysymys,Tarkistaja tarkistaja) {
31 this.kysymys = kysymys;
32 this.tarkistaja = tarkistaja;
33 }
34
35 /**
36 * @return kentän arvo merkkijonona
37 * @see kanta.Kentta#toString()
38 */
39 @Override
40 public abstract String toString();
41
42 /**
43 * @return Kenttää vastaava kysymys
44 * @see kanta.Kentta#getKysymys()
45 */
46 @Override
47 public String getKysymys() { // NOPMD (jostain syystä luulee abstraktiksi metodiksi)
48 return kysymys;
49 }
50
51 /**
52 * @param jono josta otetaan kentän arvo
53 * @see kanta.Kentta#aseta(java.lang.String)
54 */
55 @Override
56 public abstract String aseta(String jono);
57
58 /**
59 * Palauttaa kentän tiedot veratiltavana merkkijonona
60 * @return vertailtava merkkijono kentästä
61 */
62 @Override
63 public String getAvain() { // NOPMD (jostain syystä luulee abstraktiksi metodiksi)
64 return toString().toUpperCase();
65 }
66
67
68 /**
69 * @return syväkopio oliosta
70 */
71 @Override
72 public Kentta clone() throws CloneNotSupportedException {
73 return (Kentta)super.clone();
74 }
75
76
77 }
78
79
80
81
82
83
84