| Sisalto.java |
1 package kalenteri;
2 /**
3 * Sisältö-luokka ylläpitää tietoa yksittäisestä sisällöstä.
4 * Tarkemmin sen nimestä.
5 * Mukana myös id ja next_id, Sisallot-taulukon hallintaa varten.
6 * @author Timo Koski
7 *
8 */
9 public class Sisalto {
10
11 private int id;
12 private static int next_id;
13
14 private String sisallonNimi;
15
16 /* MUODOSTAJA JA REKISTERÖINTI */
17 /**
18 * Muodostaja.
19 * Sisällönnimi pakollisena parametrina.
20 * @param nimi
21 */
22 public Sisalto(String nimi) {
23 this.sisallonNimi = nimi;
24 rekisteroi();
25 }
26 /**
27 * Rekisteröidään sisällolle id-numero.
28 * Vrt. luentoesimerkit
29 * @return id
30 */
31 private int rekisteroi() {
32 id = next_id;
33 next_id++;
34 return id;
35 }
36
37 /* GETTERIT JA SETTERIT */
38 /**
39 * Palauttaa id:n
40 * @return id
41 */
42 public int getId() {
43 return id;
44 }
45 /**
46 * Getteri sisällön nimelle.
47 * @return sisällön nimi
48 */
49 public String getSisallonNimi() {
50 return sisallonNimi;
51 }
52 /**
53 * Asetetaan sisällön nimi uudestaan.
54 * @param s
55 */
56 public void setSisallonNimi(String s) {
57 this.sisallonNimi = s;
58 }
59
60 /* TOSTRING */
61 /**
62 * toString palauttaa sisällön nimen.
63 */
64 @Override
65 public String toString() {
66 return sisallonNimi;
67 }
68
69 /* PÄÄOHJELMA */
70 /**
71 * Pääohjelma luokan testaamiseen.
72 * @param args ei käytössä
73 * @example
74 * <pre name="test">
75 * Sisalto r = new Sisalto("Au");
76 * Sisalto q = new Sisalto("Maculele");
77 * r.toString() === "Au";
78 * q.toString() === "Maculele";
79 * </pre>
80 */
81 public static void main(String[] args) {
82 Sisalto s = new Sisalto("Bananeira");
83 s.rekisteroi();
84 System.out.println(s);
85 }
86 }
87