org.apache.commons.lang

Class IllegalClassException

Implemented Interfaces:
Serializable

public class IllegalClassException
extends 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
See Also:
Serialized Form

Constructor Summary

IllegalClassException(Class<T> expected, Class<T> actual)
Instantiates with the expected and actual types.
IllegalClassException(Class<T> expected, Object actual)
Instantiates with the expected type, and actual object.
IllegalClassException(String message)
Instantiates with the specified message.

Method Summary

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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

IllegalClassException

public IllegalClassException(Class<T> expected,
                             Class<T> actual)
Instantiates with the expected and actual types.
Parameters:
expected - the expected type
actual - the actual type

IllegalClassException

public IllegalClassException(Class<T> expected,
                             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(String message)
Instantiates with the specified message.
Parameters:
message - the exception message