| HetuKentta.java |
1 package kanta;
2
3 /**
4 * Kenttä hetuja varten
5 *
6 * @author vesal
7 *
8 * @example
9 * <pre name="testJonoKentta">
10 * HetuKentta kentta = new HetuKentta("hetu",new HetuTarkistus());
11 * kentta.toString() === "";
12 * kentta.aseta("kissa") === "Hetu liian lyhyt"
13 * kentta.toString() === ""
14 * kentta.aseta("010203-111L") === null
15 * kentta.getAvain() === "030201-111L"
16 * kentta.getKysymys() === "hetu"
17 *
18 * </pre>
19 *
20 */
21 public class HetuKentta extends JonoKentta {
22
23 /**
24 *
25 * @param kysymys kentästä esitettävä kysymys
26 */
27 public HetuKentta(String kysymys) { super(kysymys); }
28
29 /**
30 *
31 * @param kysymys kentästä esitettävä kysymys
32 * @param tarkistaja olio joka tarkastaa kentän
33 */
34 public HetuKentta(String kysymys,Tarkistaja tarkistaja) {
35 super(kysymys,tarkistaja);
36 }
37
38
39 /**
40 * @return avain
41 * @see kanta.PerusKentta#getAvain()
42 */
43 @Override
44 public String getAvain() {
45 StringBuffer sb = new StringBuffer(toString());
46 if ( sb.length() < 6 ) return sb.toString(); // TODO mitä palautetaan
47 char c = sb.charAt(4);
48 sb.setCharAt(4,sb.charAt(0));
49 sb.setCharAt(0,c);
50 c = sb.charAt(5);
51 sb.setCharAt(5,sb.charAt(1));
52 sb.setCharAt(1,c);
53 return sb.toString(); // pitäisi siirtää - jonon alkuun
54 // ja järkätä + < - < A
55 }
56 }
57