| RegExpTarkistaja.java |
1 package kanta;
2
3 /**
4 * Tarkistaja joka tarkistaa että jono vastaa regexpiä
5 * Hyväksyy tyhjän jonon.
6 * @author vesal
7 *
8 */
9 public class RegExpTarkistaja implements Tarkistaja {
10
11 private final String regexp;
12
13
14 /**
15 * Luodaan tarkistaja joka hyväksyy sallitut merkit
16 * @param regexp hyväksyttävät merkit
17 */
18 public RegExpTarkistaja(String regexp) {
19 this.regexp = regexp;
20 }
21
22
23 /**
24 * Tarkistaa että jono sisältää vain valittuja numeroita
25 * @param jono tutkittava jono
26 * @example
27 * <pre name="test">
28 * RegExpTarkistaja tar = new RegExpTarkistaja("[1-4]*");
29 * tar.tarkista("12") === null;
30 * tar.tarkista("15") === "Ei vastaa maskia: [1-4]*";
31 * tar.tarkista("") === null;
32 * </pre>
33 */
34 @Override
35 public String tarkista(String jono) {
36 if ( jono.matches(regexp) ) return null;
37 return "Ei vastaa maskia: " + regexp;
38 }
39
40 }
41