View Javadoc

    1   /*
    2    * $Id: Msg.java 280974 2005-09-15 00:06:59Z niallp $
    3    * $Rev: 280974 $
    4    * $Date: 2005-09-15 01:06:59 +0100 (Thu, 15 Sep 2005) $
    5    *
    6    * ====================================================================
    7    * Copyright 2001-2005 The Apache Software Foundation
    8    *
    9    * Licensed under the Apache License, Version 2.0 (the "License");
    10   * you may not use this file except in compliance with the License.
    11   * You may obtain a copy of the License at
    12   *
    13   *     http://www.apache.org/licenses/LICENSE-2.0
    14   *
    15   * Unless required by applicable law or agreed to in writing, software
    16   * distributed under the License is distributed on an "AS IS" BASIS,
    17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    18   * See the License for the specific language governing permissions and
    19   * limitations under the License.
    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 &lt;msg&gt; 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 }