1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.talika.tarsis.command;
24
25 /**
26 * Interface that defines a command parameter in Tarsis MVC Framework.<br>
27 * <br>
28 * A command parameter represents a value to be passed to command in order to be
29 * executed correctly. Parameters can be required or optional and can have one or
30 * more values.<br>
31 *
32 * @author Jose M. Palomar
33 * @version $Revision: 121 $
34 * @see Command
35 */
36 public interface CommandParameter {
37
38 /**
39 * Returns the name of parameter.
40 *
41 * @return String name of parameter.
42 */
43 String getName();
44
45 /**
46 * Returns the type of parameter. The type is represented by a class instance.
47 * Supported types are:
48 * <ul>
49 * <li><code>java.lang.String</code></li>
50 * <li><code>java.lang.Integer</code></li>
51 * <li><code>java.lang.Long</code></li>
52 * <li><code>java.lang.Double</code></li>
53 * <li><code>java.lang.Float</code></li>
54 * <li><code>java.lang.Boolean</code></li>
55 * <li><code>java.util.Date</code></li>
56 * <li><code>java.sql.Date</code></li>
57 * <li><code>java.sql.Time</code></li>
58 * <li><code>java.sql.Timestamp</code></li>
59 * <li><code>java.io.File</code></li>
60 * </ul>
61 *
62 * @return Class type of parameter.
63 */
64 Class getType();
65
66 /**
67 * Returns <code>true</code> if parameter is required.
68 *
69 * @return boolean <code>true</code> if parameter is required.
70 */
71 boolean isRequired();
72
73 /**
74 * Returns <code>true</code> if parameter can have multiple values.
75 *
76 * @return boolean <code>true</code> if parameter can have multiple values.
77 */
78 boolean isMultiple();
79
80 /**
81 * Returns the default value of parameter if no other is provided.
82 *
83 * @return Object default value of parameter.
84 */
85 Object defaultValue();
86
87 }