01: /*
02: * IParameterType.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:
21: package org.naturalcli;
22:
23: /**
24: * A parameter type for all the commands.
25: *
26: * @author Ferran Busquets
27: */
28: public interface IParameterType {
29:
30: /**
31: * Gets the parameter type name.
32: *
33: * @return the name of the parameter type
34: */
35: public String getParameterTypeName();
36:
37: /**
38: * Checks if a parameter value is of this type
39: * of parameter.
40: *
41: * @param the string to be validated as this parameter type
42: * @return <code>true</code> if the validation it's right;
43: * <code>false</code> otherwise
44: */
45: public boolean validateParameter(String value);
46:
47: /**
48: * Checks if a parameter value is of this type
49: * of parameter and returns a detailed message
50: * if the validation fails.
51: *
52: * @param the string to be validated as this parameter type
53: * @return <code>null</code> if the validation it's right;
54: * a detailed message if something it's wrong
55: */
56: public String validationMessage(String value);
57:
58: /**
59: * Converts the string representing the parameter value to
60: * the corresponding type value.
61: *
62: * @param strRepresentation the string representation of the value
63: * @return real object value
64: */
65: public Object convertParameterValue(String strRepresentation);
66: }
|