01: /*
02: * EmailParamType.java
03: *
04: * Copyright (C) 2007 Ferran Busquets
05: *
06: * This program is free software: you can redistribute it and/or modify
07: * it under the terms of the GNU General Public License as published by
08: * the Free Software Foundation, either version 3 of the License, or
09: * any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program. If not, see <http://www.gnu.org/licenses/>.
18: *
19: */
20: package org.naturalcli.parameters;
21:
22: import org.naturalcli.IParameterType;
23:
24: /**
25: * The class implements an email parameter type.
26: *
27: * @author Ferran Busquets
28: *
29: */
30: public class EmailParamType implements IParameterType {
31:
32: /* (non-Javadoc)
33: * @see org.naturalcli.paramtypes.IParameterType#getParameterTypeName()
34: */
35: @Override
36: public String getParameterTypeName() {
37: return "email";
38: }
39:
40: /* (non-Javadoc)
41: * @see org.naturalcli.paramtypes.IParameterType#validateParameter(java.lang.String)
42: */
43: @Override
44: public boolean validateParameter(String value) {
45: return value.matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$");
46: }
47:
48: /* (non-Javadoc)
49: * @see org.naturalcli.paramtypes.IParameterType#validationMessage(java.lang.String)
50: */
51: @Override
52: public String validationMessage(String value) {
53: return this .validateParameter(value) ? null : "Bad email.";
54: }
55:
56: /* (non-Javadoc)
57: * @see org.naturalcli.paramtypes.IParameterType#convertParameterValue(java.lang.String)
58: */
59: @Override
60: public Object convertParameterValue(String strRepresentation) {
61: return strRepresentation;
62: }
63:
64: }
|