/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate; /** * Thrown if Hibernate can't instantiate a class at runtime. * * @author Gavin King */ public class InstantiationException extends HibernateException { private final Class clazz; /** * Constructs a InstantiationException. * * @param message A message explaining the exception condition * @param clazz The Class we are attempting to instantiate * @param cause The underlying exception */ public InstantiationException(String message, Class clazz, Throwable cause) { super( message, cause ); this.clazz = clazz; } /** * Constructs a InstantiationException. * * @param message A message explaining the exception condition * @param clazz The Class we are attempting to instantiate */ public InstantiationException(String message, Class clazz) { this( message, clazz, null ); } /** * Constructs a InstantiationException. * * @param message A message explaining the exception condition * @param clazz The Class we are attempting to instantiate * @param cause The underlying exception */ public InstantiationException(String message, Class clazz, Exception cause) { super( message, cause ); this.clazz = clazz; } /** * Returns the Class we were attempting to instantiate. * * @deprecated Use {@link #getUninstantiatableClass} instead * * @return The class we are unable to instantiate */ @Deprecated public Class getPersistentClass() { return clazz; } /** * Returns the Class we were attempting to instantiate. * * @return The class we are unable to instantiate */ public Class getUninstantiatableClass() { return clazz; } @Override public String getMessage() { return super.getMessage() + " : " + clazz.getName(); } }