return new Byte((byte) dval.longValue());
} else if (target == char.class || target == Character.class) {
if (value.length() == 1) {
return new Character(value.charAt(0));
} else {
DynamicError de = new DynamicError("Cannot convert string to Java char unless length is 1");
de.setXPathContext(context);
de.setErrorCode("SAXON:0000");
throw de;
}
} else {
Object o = super.convertToJava(target, config, context);
if (o == null) {
DynamicError err = new DynamicError(
"Conversion of string to " + target.getName() + " is not supported");
err.setXPathContext(context);
err.setErrorCode("SAXON:0000");
throw err;
}
return o;
}
}