Index: build/version.properties =================================================================== --- build/version.properties (revision 170766) +++ build/version.properties (working copy) @@ -1,4 +1,4 @@ #Build version info -#Wed May 18 02:21:45 MDT 2005 -buildDate=2005/05/18 02\:21 -buildNum=566 +#Wed May 18 12:24:56 EDT 2005 +buildDate=2005/05/18 12\:24 +buildNum=568 Index: src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java =================================================================== --- src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (revision 170766) +++ src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (working copy) @@ -248,8 +248,14 @@ if (callback != null) { vars.errorCtx.setMoreInfo("Check the parameter mapping typeHandler attribute '" + callback + "' (must be a TypeHandlerCallback implementation)."); try { - TypeHandlerCallback typeHandlerCallback = (TypeHandlerCallback) Resources.classForName(callback).newInstance(); - handler = new CustomTypeHandler(typeHandlerCallback); + Object impl = Resources.classForName(callback).newInstance(); + if (impl instanceof TypeHandlerCallback) { + handler = new CustomTypeHandler((TypeHandlerCallback) impl); + } else if (impl instanceof TypeHandler) { + handler = (TypeHandler) impl; + } else { + throw new NestedRuntimeException ("The class '' is not a valid implementation of TypeHandler or TypeHandlerCallback"); + } } catch (Exception e) { throw new NestedRuntimeException("Error occurred during custom type handler configuration. Cause: " + e, e); }