View Javadoc

1   /*
2    *  jDTAUS Core API
3    *  Copyright (C) 2005 Christian Schulte
4    *  <cs@schulte.it>
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or any later version.
10   *
11   *  This library is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19   *
20   */
21  package org.jdtaus.core.container;
22  
23  import java.util.Locale;
24  
25  /**
26   * Gets thrown for illegal property values.
27   *
28   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
29   * @version $JDTAUS: PropertyException.java 8743 2012-10-07 03:06:20Z schulte $
30   */
31  public class PropertyException extends IllegalStateException
32  {
33      //--Constants---------------------------------------------------------------
34  
35      /** Serial version UID for backwards compatibility with 1.0.x classes. */
36      private static final long serialVersionUID = -8921078803137740601L;
37  
38      //---------------------------------------------------------------Constants--
39      //--Constructors------------------------------------------------------------
40  
41      /**
42       * Creates a new instance of {@code PropertyException} taking a property
43       * name and the invalid value.
44       *
45       * @param name the name of the property with invalid value.
46       * @param value the invalid value of the property with name {@code name}.
47       */
48      public PropertyException( final String name, final Object value )
49      {
50          super( PropertyExceptionBundle.getInstance().
51                 getPropertyExceptionMessage( Locale.getDefault(), name,
52                                              value.toString() ) );
53  
54          this.name = name;
55          this.value = value;
56      }
57  
58      /**
59       * Creates a new instance of {@code PropertyException} taking a property
60       * name, the invalid value and a causing throwable.
61       *
62       * @param name the name of the property with invalid value.
63       * @param value the invalid value of the property with name {@code name}.
64       * @param cause the causing throwable.
65       */
66      public PropertyException( final String name, final Object value,
67                                final Throwable cause )
68      {
69  
70          super( PropertyExceptionBundle.getInstance().
71                 getPropertyExceptionMessage( Locale.getDefault(), name,
72                                              value.toString() ) );
73  
74          this.initCause( cause );
75          this.name = name;
76          this.value = value;
77      }
78  
79      //------------------------------------------------------------Constructors--
80      //--PropertyException-------------------------------------------------------
81  
82      /**
83       * The name of the invalid property.
84       * @serial
85       */
86      private final String name;
87  
88      /**
89       * The value of the invalid property.
90       * @serial
91       */
92      private final Object value;
93  
94      /**
95       * Gets the name of the invalid property.
96       *
97       * @return the name of the invalid property or {@code null}.
98       */
99      public String getName()
100     {
101         return this.name;
102     }
103 
104     /**
105      * Gets the value of the invalid property.
106      *
107      * @return the value of the invalid property or {@code null}.
108      */
109     public Object getValue()
110     {
111         return this.value;
112     }
113 
114     //-------------------------------------------------------PropertyException--
115 }