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