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 }