1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.commons.validator;
23
24 import java.io.Serializable;
25
26 /***
27 * <p>
28 * A default argument or an argument for a
29 * specific validator definition (ex: required)
30 * can be stored to pass into a message as parameters. This can be used in a
31 * pluggable validator for constructing locale
32 * sensitive messages by using <code>java.text.MessageFormat</code>
33 * or an equivalent class. The resource field can be
34 * used to determine if the value stored in the argument
35 * is a value to be retrieved from a locale sensitive
36 * message retrieval system like <code>java.util.PropertyResourceBundle</code>.
37 * The resource field defaults to 'true'.
38 * </p>
39 * <p>Instances of this class are configured with an <arg> xml element.</p>
40 */
41 public class Arg implements Cloneable, Serializable {
42
43 /***
44 * The resource bundle name that this Arg's <code>key</code> should be
45 * resolved in (optional).
46 * @since Validator 1.1
47 */
48 protected String bundle = null;
49
50 /***
51 * The key or value of the argument.
52 */
53 protected String key = null;
54
55 /***
56 * The name dependency that this argument goes with (optional).
57 */
58 protected String name = null;
59
60 /***
61 * This argument's position in the message. Set postion=0 to
62 * make a replacement in this string: "some msg {0}".
63 * @since Validator 1.1
64 */
65 protected int position = -1;
66
67 /***
68 * Whether or not the key is a message resource (optional). Defaults to
69 * true. If it is 'true', the value will try to be resolved as a message
70 * resource.
71 */
72 protected boolean resource = true;
73
74 /***
75 * Creates and returns a copy of this object.
76 * @return A copy of this object.
77 */
78 public Object clone() {
79 try {
80 return super.clone();
81
82 } catch(CloneNotSupportedException e) {
83 throw new RuntimeException(e.toString());
84 }
85 }
86
87 /***
88 * Returns the resource bundle name.
89 * @return the bundle name.
90 * @since Validator 1.1
91 */
92 public String getBundle() {
93 return this.bundle;
94 }
95
96 /***
97 * Gets the key/value.
98 * @return the key value.
99 */
100 public String getKey() {
101 return this.key;
102 }
103
104 /***
105 * Gets the name of the dependency.
106 * @return the name of the dependency.
107 */
108 public String getName() {
109 return this.name;
110 }
111
112 /***
113 * Argument's replacement position.
114 * @return This argument's replacement position.
115 */
116 public int getPosition() {
117 return this.position;
118 }
119
120 /***
121 * Tests whether or not the key is a resource key or literal value.
122 * @return <code>true</code> if key is a resource key.
123 */
124 public boolean isResource() {
125 return this.resource;
126 }
127
128 /***
129 * Sets the resource bundle name.
130 * @param bundle The new bundle name.
131 * @since Validator 1.1
132 */
133 public void setBundle(String bundle) {
134 this.bundle = bundle;
135 }
136
137 /***
138 * Sets the key/value.
139 * @param key They to access the argument.
140 */
141 public void setKey(String key) {
142 this.key = key;
143 }
144
145 /***
146 * Sets the name of the dependency.
147 * @param name the name of the dependency.
148 */
149 public void setName(String name) {
150 this.name = name;
151 }
152
153 /***
154 * Set this argument's replacement position.
155 * @param position set this argument's replacement position.
156 */
157 public void setPosition(int position) {
158 this.position = position;
159 }
160
161 /***
162 * Sets whether or not the key is a resource.
163 * @param resource If true indicates the key is a resource.
164 */
165 public void setResource(boolean resource) {
166 this.resource = resource;
167 }
168
169 /***
170 * Returns a string representation of the object.
171 * @return a string representation of the object.
172 */
173 public String toString() {
174 StringBuffer results = new StringBuffer();
175
176 results.append("Arg: name=");
177 results.append(name);
178 results.append(" key=");
179 results.append(key);
180 results.append(" position=");
181 results.append(position);
182 results.append(" bundle=");
183 results.append(bundle);
184 results.append(" resource=");
185 results.append(resource);
186 results.append("\n");
187
188 return results.toString();
189 }
190
191 }