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 }