%line | %branch | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
ca.spaz.cron.config.AbstractRegexKeyValidator |
|
|
1 | /* |
|
2 | ******************************************************************************* |
|
3 | * Copyright (c) 2005 Chris Rose and AIMedia |
|
4 | * All rights reserved. AbstractRegexKeyValidator and the accompanying materials |
|
5 | * are made available under the terms of the Common Public License v1.0 |
|
6 | * which accompanies this distribution, and is available at |
|
7 | * http://www.eclipse.org/legal/cpl-v10.html |
|
8 | * |
|
9 | * Contributors: |
|
10 | * Chris Rose |
|
11 | *******************************************************************************/ |
|
12 | package ca.spaz.cron.config; |
|
13 | ||
14 | import java.util.regex.*; |
|
15 | ||
16 | 0 | public abstract class AbstractRegexKeyValidator implements PropertyValidator { |
17 | ||
18 | protected Matcher getMatcher(String string) { |
|
19 | 0 | if (null == string) { |
20 | 0 | throw new IllegalArgumentException("Null strings are not allowed"); |
21 | } |
|
22 | 0 | return Pattern.compile(getExpression()).matcher(string); |
23 | } |
|
24 | ||
25 | /* (non-Javadoc) |
|
26 | * @see ca.spaz.cron.config.PropertyValidator#isValid(java.lang.String, java.lang.String) |
|
27 | */ |
|
28 | public boolean isValid(String key, String value) { |
|
29 | 0 | boolean valid = false; |
30 | 0 | if (getMatcher(key).find()) { |
31 | 0 | valid = doIsValid(key, value); |
32 | } |
|
33 | 0 | return valid; |
34 | } |
|
35 | ||
36 | /** |
|
37 | * This method will be called only in the case where the pattern matches. This |
|
38 | * can be assumed to be a precondition of the method call. |
|
39 | * |
|
40 | * @param key The matching key. |
|
41 | * @param value The value being checked. |
|
42 | * @return <code>true</code> if <code>value</code> is a valid value for |
|
43 | * <code>key</code>, <code>false</code> otherwise. |
|
44 | */ |
|
45 | protected abstract boolean doIsValid(String key, String value); |
|
46 | ||
47 | /** |
|
48 | * Get the regular expression to match the key on. |
|
49 | * @return a string representation of a regular expression. |
|
50 | */ |
|
51 | protected abstract String getExpression(); |
|
52 | ||
53 | } |
This report is generated by jcoverage, Maven and Maven JCoverage Plugin. |