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    }