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 when creating an instance of an implementation fails.
27 *
28 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
29 * @version $JDTAUS: InstantiationException.java 8743 2012-10-07 03:06:20Z schulte $
30 */
31 public class InstantiationException extends IllegalStateException
32 {
33 //--Constants---------------------------------------------------------------
34
35 /** Serial version UID for backwards compatibility with 1.0.x classes. */
36 private static final long serialVersionUID = -7299094102825525833L;
37
38 //---------------------------------------------------------------Constants--
39 //--Constructors------------------------------------------------------------
40
41 /**
42 * Creates a new {@code InstantiationException} instance.
43 *
44 * @param identifier the identifier of the implementation for which creating
45 * an instance failed.
46 * @param cause the cause of the exception.
47 */
48 public InstantiationException( final String identifier,
49 final Throwable cause )
50 {
51
52 super( InstantiationExceptionBundle.getInstance().
53 getInstantiationExceptionMessage( Locale.getDefault(),
54 identifier ) );
55
56 this.initCause( cause );
57 this.identifier = identifier;
58 }
59
60 //------------------------------------------------------------Constructors--
61 //--InstantiationException--------------------------------------------------
62
63 /**
64 * The identifier of the implementation for which creating an instance
65 * failed.
66 * @serial
67 */
68 private final String identifier;
69
70 /**
71 * Gets the identifier of the implementation for which creating an instance
72 * failed.
73 *
74 * @return the identifier of the implementation for which creating an
75 * instance failed or {@code null}.
76 */
77 public String getIdentifier()
78 {
79 return this.identifier;
80 }
81
82 //--------------------------------------------------InstantiationException--
83 }