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 * Implementation of <code>CommandParameter</code> interface.
27 *
28 * @author Jose M. Palomar
29 * @version $Revision: 113 $
30 * @see CommandParameter
31 */
32 public final class CommandParameterImpl implements CommandParameter {
33
34
35 /**
36 * Name of parameter.
37 */
38 private final String name;
39
40 /**
41 * Type of parameter.
42 */
43 private final Class type;
44
45 /**
46 * Parameter is required?.
47 */
48 private final boolean required;
49
50 /**
51 * Can parameter have multiple values?.
52 */
53 private final boolean multiple;
54
55 /**
56 * Default value of parameter.
57 */
58 private final Object defaultValue;
59
60
61 /**
62 * Constructs a new <code>CommandParameterImpl</code> with specified parameters.
63 *
64 * @param name String name of parameter.
65 * @param type Class type of parameter.
66 * @param required boolean is parameter required?.
67 * @param multiple boolean can multiple have multiple values?.
68 * @param defaultValue Object default value of parameter.
69 */
70 public CommandParameterImpl(String name, Class type, boolean required,
71 boolean multiple, Object defaultValue) {
72
73 this.name = name;
74 this.type = type;
75 this.required = required;
76 this.multiple = multiple;
77 this.defaultValue = defaultValue;
78
79 }
80
81 /**
82 * Returns name of parameter.
83 *
84 * @return String name of parameter.
85 * @see org.talika.tarsis.command.CommandParameter#getName()
86 */
87 public String getName() {
88 return name;
89 }
90
91 /**
92 * Returns type of parameter.
93 *
94 * @return Class type of parameter.
95 * @see org.talika.tarsis.command.CommandParameter#getType()
96 */
97 public Class getType() {
98 return type;
99 }
100
101 /**
102 * Returns <code>true</code> if parameter is required.
103 *
104 * @return boolean <code>true</code> if parameter is required.
105 * @see org.talika.tarsis.command.CommandParameter#isRequired()
106 */
107 public boolean isRequired() {
108 return required;
109 }
110
111 /**
112 * Returns <code>true</code> if parameter can have multiple values.
113 *
114 * @return boolean <code>true</code> if parameter can have multiple values.
115 * @see org.talika.tarsis.command.CommandParameter#isMultiple()
116 */
117 public boolean isMultiple() {
118 return multiple;
119 }
120
121 /**
122 * Returns the default value of parameter if no other is provided.
123 *
124 * @return Object default value of parameter.
125 * @see org.talika.tarsis.command.CommandParameter#defaultValue()
126 */
127 public Object defaultValue() {
128 return defaultValue;
129 }
130
131 }