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