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 * An alternative message can be associated with a <code>Field</code>
28 * and a pluggable validator instead of using the default message
29 * stored in the <code>ValidatorAction</code> (aka pluggable validator).
30 * Instances of this class are configured with a <msg> xml element.
31 */
32 public class Msg implements Cloneable, Serializable {
33
34 /***
35 * The resource bundle name that this Msg's <code>key</code> should be
36 * resolved in (optional).
37 * @since Validator 1.1
38 */
39 protected String bundle = null;
40
41 /***
42 * The key or value of the argument.
43 */
44 protected String key = null;
45
46 /***
47 * The name dependency that this argument goes with (optional).
48 */
49 protected String name = null;
50
51 /***
52 * Whether or not the key is a message resource (optional). Defaults to
53 * true. If it is 'true', the value will try to be resolved as a message
54 * resource.
55 * @since Validator 1.1.4
56 */
57 protected boolean resource = true;
58
59 /***
60 * Returns the resource bundle name.
61 * @return The bundle name.
62 * @since Validator 1.1
63 */
64 public String getBundle() {
65 return this.bundle;
66 }
67
68 /***
69 * Sets the resource bundle name.
70 * @param bundle The new bundle name.
71 * @since Validator 1.1
72 */
73 public void setBundle(String bundle) {
74 this.bundle = bundle;
75 }
76
77 /***
78 * Gets the name of the dependency.
79 * @return The dependency name.
80 */
81 public String getName() {
82 return name;
83 }
84
85 /***
86 * Sets the name of the dependency.
87 * @param name The dependency name.
88 */
89 public void setName(String name) {
90 this.name = name;
91 }
92
93 /***
94 * Gets the key/value.
95 * @return The message key/value.
96 */
97 public String getKey() {
98 return key;
99 }
100
101 /***
102 * Sets the key/value.
103 * @param key The message key/value.
104 */
105 public void setKey(String key) {
106 this.key = key;
107 }
108
109 /***
110 * Tests whether or not the key is a resource key or literal value.
111 * @return <code>true</code> if key is a resource key.
112 * @since Validator 1.1.4
113 */
114 public boolean isResource() {
115 return this.resource;
116 }
117
118 /***
119 * Sets whether or not the key is a resource.
120 * @param resource If true indicates the key is a resource.
121 * @since Validator 1.1.4
122 */
123 public void setResource(boolean resource) {
124 this.resource = resource;
125 }
126
127 /***
128 * Creates and returns a copy of this object.
129 * @return A copy of the Msg.
130 */
131 public Object clone() {
132 try {
133 return super.clone();
134
135 } catch(CloneNotSupportedException e) {
136 throw new RuntimeException(e.toString());
137 }
138 }
139
140 /***
141 * Returns a string representation of the object.
142 * @return Msg String representation.
143 */
144 public String toString() {
145 StringBuffer results = new StringBuffer();
146
147 results.append("Msg: name=");
148 results.append(name);
149 results.append(" key=");
150 results.append(key);
151 results.append(" resource=");
152 results.append(resource);
153 results.append(" bundle=");
154 results.append(bundle);
155 results.append("\n");
156
157 return results.toString();
158 }
159
160 }