001 /*
002 * GroovyCastException.java created on 21.11.2006
003 *
004 * To change this generated comment go to
005 * Window>Preferences>Java>Code Generation>Code and Comments
006 */
007 package org.codehaus.groovy.runtime.typehandling;
008
009 public class GroovyCastException extends ClassCastException {
010
011 public GroovyCastException(Object objectToCast, Class classToCastTo) {
012 super(makeMessage(objectToCast,classToCastTo));
013 }
014
015 public GroovyCastException(String string) {
016 super(string);
017 }
018
019 private static String makeMessage(Object objectToCast, Class classToCastTo) {
020 String classToCastFrom;
021 if (objectToCast!=null) {
022 classToCastFrom = objectToCast.getClass().getName();
023 } else {
024 objectToCast = "null";
025 classToCastFrom = "null";
026 }
027 return "Cannot cast object '" + objectToCast + "' " +
028 "with class '" + classToCastFrom + "' " +
029 "to class '" + classToCastTo.getName() + "'";
030 }
031
032 }