org.apache.commons.lang
Class IllegalClassException

java.lang.Object
  extended byjava.lang.Throwable
      extended byjava.lang.Exception
          extended byjava.lang.RuntimeException
              extended byjava.lang.IllegalArgumentException
                  extended byorg.apache.commons.lang.IllegalClassException
All Implemented Interfaces:
java.io.Serializable

public class IllegalClassException
extends java.lang.IllegalArgumentException

Thrown when an object is an instance of an unexpected type (a class or interface). This exception supplements the standard IllegalArgumentException by providing a more semantically rich description of the problem.

IllegalClassException represents the case where a method takes in a genericly typed parameter like Object (typically because it has to due to some other interface it implements), but this implementation only actually accepts a specific type, for example String. This exception would be used in place of IllegalArgumentException, yet it still extends it.

 public void foo(Object obj) {
   if (obj instanceof String == false) {
     throw new IllegalClassException(String.class, obj);
   }
   // do something with the string
 }
 

Since:
2.0
Version:
$Id: IllegalClassException.java 437554 2006-08-28 06:21:41Z bayard $
Author:
Matthew Hawthorne, Gary Gregory, Stephen Colebourne
See Also:
Serialized Form

Constructor Summary
IllegalClassException(java.lang.Class expected, java.lang.Class actual)
          Instantiates with the expected and actual types.
IllegalClassException(java.lang.Class expected, java.lang.Object actual)
          Instantiates with the expected type, and actual object.
IllegalClassException(java.lang.String message)
          Instantiates with the specified message.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IllegalClassException

public IllegalClassException(java.lang.Class expected,
                             java.lang.Object actual)

Instantiates with the expected type, and actual object.

Parameters:
expected - the expected type
actual - the actual object
Since:
2.1

IllegalClassException

public IllegalClassException(java.lang.Class expected,
                             java.lang.Class actual)

Instantiates with the expected and actual types.

Parameters:
expected - the expected type
actual - the actual type

IllegalClassException

public IllegalClassException(java.lang.String message)

Instantiates with the specified message.

Parameters:
message - the exception message


Copyright 2001-2008 The Apache Software Foundation. All Rights Reserved.