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
 }
 
Version:
$Id: IllegalClassException.java 161243 2005-04-14 04:30:28Z ggregory $
Authors:
Matthew Hawthorne
Gary Gregory
Stephen Colebourne
Since:
2.0

Constructor Summary

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

Constructor Details

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(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(String message)
Instantiates with the specified message.
Parameters:
message - the exception message

Copyright © 2001-2005 - Apache Software Foundation