| Kentta.java |
1 package kanta;
2
3 /**
4 * Rajapinta tietueen yhdelle kentälle.
5 * @author vesal
6 *
7 */
8 public interface Kentta extends Cloneable, Comparable<Kentta>{
9
10 /**
11 * kentän arvo merkkijonona.
12 * @return kenttä merkkkijonona
13 */
14 @Override
15 String toString();
16
17 /**
18 * Palauttaa kentään liittyvän kysymyksen.
19 * @return kenttän liittyvä kysymys.
20 */
21 String getKysymys();
22
23 /**
24 * Asettaa kentän sisällön ottamalla tiedot
25 * merkkijonosta.
26 * @param jono jono josta tiedot otetaan.
27 * @return null jos sisältö on hyvä, muuten merkkijonona virhetieto
28 */
29 String aseta(String jono);
30
31
32 /**
33 * Palauttaa kentän tiedot veratiltavana merkkijonona
34 * @return vertailtava merkkijono kentästä
35 */
36 String getAvain();
37
38
39 /**
40 * @return syväkopio kentästä, tehtävä jokaiseen luokkaa toimivaksi
41 * @throws CloneNotSupportedException
42 */
43 Kentta clone() throws CloneNotSupportedException ;
44
45 /**
46 * @return vaakasuuntainen sijainti kentälle
47 */
48 int getSijainti();
49
50 }
51