/*
* @(#)TypeNotPresentException.java 1.5 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.lang;
/**
* Thrown when an application tries to access a type using a string
* representing the type's name, but no definition for the type with
* the specified name can be found. This exception differs from
* {@link ClassNotFoundException} in that <tt>ClassNotFoundException</tt> is a
* checked exception, whereas this exception is unchecked.
*
* <p>Note that this exception may be used when undefined type variables
* are accessed as well as when types (e.g., classes, interfaces or
* annotation types) are loaded.
*
* @author Josh Bloch
* @since 1.5
*/
public class TypeNotPresentException extends RuntimeException {
private String typeName;
/**
* Constructs a <tt>TypeNotPresentException</tt> for the named type
* with the specified cause.
*
* @param typeName the fully qualified name of the unavailable type
* @param cause the exception that was thrown when the system attempted to
* load the named type, or <tt>null</tt> if unavailable or inapplicable
*/
public TypeNotPresentException(String typeName, Throwable cause) {
super("Type " + typeName + " not present", cause);
this.typeName = typeName;
}
/**
* Returns the fully qualified name of the unavailable type.
*
* @return the fully qualified name of the unavailable type
*/
public String typeName() { return typeName;}
}