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    public String getKysymys() { // NOPMD (jostain syystä luulee abstraktiksi metodiksi)
47      return kysymys;
48    }
49  
50    /**
51     * @param jono josta otetaan kentän arvo
52     * @see kanta.Kentta#aseta(java.lang.String)
53     */
54    public abstract String aseta(String jono);
55  
56    /**
57     * Palauttaa kentän tiedot veratiltavana merkkijonona
58     * @return vertailtava merkkijono kentästä
59     */
60    public String getAvain() { // NOPMD (jostain syystä luulee abstraktiksi metodiksi)
61       return toString().toUpperCase();
62    }
63  
64  }
65  
66  
67  
68  
69  
70  
71