| PituusHakija.java |
1 /**
2 * Hakuluokka merkkijonon hakuun. Hakee sanat, joiden pituus on vähintään
3 * hakuehtona annettava luku.
4 * @author Miika Nurminen
5 * @version 0.1 19.3.2003
6 */
7 public class PituusHakija implements SanaHakija {
8 private int ehto = 0;
9
10 /**
11 * Alustaa hakijan määärätylle hakuehdolle. Tarkistaa ehdon järkevyyden
12 * @param ehto Hakuehto
13 */
14 public PituusHakija(int ehto) {
15 alusta(ehto);
16 }
17
18 /**
19 * Alustaa hakijan määärätylle hakuehdolle. Tarkistaa ehdon järkevyyden
20 * @param ehto Hakuehto
21 */
22 public void alusta(String ehto) {
23 if (ehto==null) ehto="0"; // null: "mikä tahansa"
24 alusta(Integer.parseInt(ehto));
25 }
26
27 public void alusta(int ehto) {
28 if (this.ehto<0)
29 throw new IllegalArgumentException("Virheellinen hakuehto!");
30 this.ehto = ehto;
31 }
32
33 /**
34 * Tutkii, täsmääkö sana edellä alustetun hakuehdon kanssa
35 * @param sana Sana, johon hakuehtoa sovelletaan
36 * @return jos sana täsmää hakuehtoon, palauttaa true:n
37 */
38 public boolean hae(String sana) {
39 return (sana.length()>this.ehto);
40 }
41
42 /**
43 * Palauttaa hakuehton merkkijonona
44 * @return hakuehto merkkijonona
45 */
46 public String toString() {
47 return Integer.toString(this.ehto);
48 }
49 }
50 | PituusHakija.java |