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 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  }