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