1   package kanta;
2   
3   /**
4    * Kenttä tavallisia merkkijonoja varten.
5    * @author vesal
6    * @version 31.3.2008
7    *
8    */
9   public class JonoKentta extends PerusKentta {
10      private String jono = "";
11  
12      /**
13       * Alustetaan kenttä kysymyksen tiedoilla.
14       * @param kysymys joka esitetään kenttää kysyttäessä.
15       * @example
16       * <pre name="test">
17       *    JonoKentta jono = new JonoKentta("nimi");
18       *    jono.getKysymys() === "nimi";
19       *    jono.toString() === "";
20       *    jono.aseta("Aku");
21       *    jono.toString() === "Aku";
22       * </pre>
23       */
24      public JonoKentta(String kysymys) { super(kysymys); }
25  
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 JonoKentta(String kysymys,Tarkistaja tarkistaja) {
33          super(kysymys,tarkistaja);
34      }
35  
36      /**
37       * @return Palauetaan kentän sisältö
38       * @see kanta.PerusKentta#toString()
39       */
40      @Override
41      public String toString() { return jono; }
42  
43      /** 
44       * @param s merkkijono joka asetetaan kentän arvoksi
45       * @see kanta.PerusKentta#aseta(java.lang.String)
46       */
47      @Override
48      public String aseta(String s) {
49          if ( tarkistaja == null ) {
50              this.jono = s; 
51              return null;
52          }
53  
54          String virhe = tarkistaja.tarkista(s);
55          if ( virhe == null ) {
56              this.jono = s; 
57              return null;
58          }
59          return virhe;
60      }
61  
62  }
63