org.apache.commons.lang

Class IllegalClassException

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

Version: $Id: IllegalClassException.java 437554 2006-08-28 06:21:41Z bayard $

Author: Matthew Hawthorne Gary Gregory Stephen Colebourne

Constructor Summary
IllegalClassException(Class expected, Object actual)

Instantiates with the expected type, and actual object.

IllegalClassException(Class expected, Class actual)

Instantiates with the expected and actual types.

IllegalClassException(String message)

Instantiates with the specified message.

Constructor Detail

IllegalClassException

public IllegalClassException(Class 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(Class expected, Class actual)

Instantiates with the expected and actual types.

Parameters: expected the expected type actual the actual type

IllegalClassException

public IllegalClassException(String message)

Instantiates with the specified message.

Parameters: message the exception message

Copyright © 2001-2005 - Apache Software Foundation