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