View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.validator;
18  
19  import java.io.Serializable;
20  
21  /***
22   * An alternative message can be associated with a <code>Field</code>
23   * and a pluggable validator instead of using the default message
24   * stored in the <code>ValidatorAction</code> (aka pluggable validator).
25   * Instances of this class are configured with a &lt;msg&gt; xml element.
26   *
27   * @version $Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $
28   */
29  public class Msg implements Cloneable, Serializable {
30  
31      /***
32       * The resource bundle name that this Msg's <code>key</code> should be
33       * resolved in (optional).
34       * @since Validator 1.1
35       */
36      protected String bundle = null;
37  
38      /***
39       * The key or value of the argument.
40       */
41      protected String key = null;
42  
43      /***
44       * The name dependency that this argument goes with (optional).
45       */
46      protected String name = null;
47  
48      /***
49       * Whether or not the key is a message resource (optional).  Defaults to
50       * true.  If it is 'true', the value will try to be resolved as a message
51       * resource.
52       * @since Validator 1.1.4
53       */
54      protected boolean resource = true;
55  
56      /***
57       * Returns the resource bundle name.
58       * @return The bundle name.
59       * @since Validator 1.1
60       */
61      public String getBundle() {
62          return this.bundle;
63      }
64  
65      /***
66       * Sets the resource bundle name.
67       * @param bundle The new bundle name.
68       * @since Validator 1.1
69       */
70      public void setBundle(String bundle) {
71          this.bundle = bundle;
72      }
73  
74      /***
75       * Gets the name of the dependency.
76       * @return The dependency name.
77       */
78      public String getName() {
79          return name;
80      }
81  
82      /***
83       * Sets the name of the dependency.
84       * @param name The dependency name.
85       */
86      public void setName(String name) {
87          this.name = name;
88      }
89  
90      /***
91       * Gets the key/value.
92       * @return The message key/value.
93       */
94      public String getKey() {
95          return key;
96      }
97  
98      /***
99       * Sets the key/value.
100      * @param key The message key/value.
101      */
102     public void setKey(String key) {
103         this.key = key;
104     }
105 
106     /***
107      * Tests whether or not the key is a resource key or literal value.
108      * @return <code>true</code> if key is a resource key.
109      * @since Validator 1.1.4
110      */
111     public boolean isResource() {
112         return this.resource;
113     }
114 
115     /***
116      * Sets whether or not the key is a resource.
117      * @param resource If true indicates the key is a resource.
118      * @since Validator 1.1.4
119      */
120     public void setResource(boolean resource) {
121         this.resource = resource;
122     }
123 
124     /***
125      * Creates and returns a copy of this object.
126      * @return A copy of the Msg.
127      */
128     public Object clone() {
129         try {
130             return super.clone();
131 
132         } catch(CloneNotSupportedException e) {
133             throw new RuntimeException(e.toString());
134         }
135     }
136 
137     /***
138      * Returns a string representation of the object.
139      * @return Msg String representation.
140      */
141     public String toString() {
142         StringBuffer results = new StringBuffer();
143 
144         results.append("Msg: name=");
145         results.append(name);
146         results.append("  key=");
147         results.append(key);
148         results.append("  resource=");
149         results.append(resource);
150         results.append("  bundle=");
151         results.append(bundle);
152         results.append("\n");
153 
154         return results.toString();
155     }
156 
157 }