String value = paramParser.nextToken();
if ("javaType".equals(field)) {
try {
javaType = typeAliasRegistry.resolveAlias(value);
} catch (Exception e) {
throw new SqlMapException("Error loading javaType class");
}
} else if ("jdbcType".equals(field)) {
jdbcType = JdbcType.valueOf(value);
} else if ("mode".equals(field)) {
parameterMode = ParameterMode.valueOf(value);
} else if ("nullValue".equals(field)) {
throw new UnsupportedOperationException("iBATIS 3 does not support null value substitution.");
} else if ("handler".equals(field)) {
try {
Object impl = typeAliasRegistry.resolveAlias(value).newInstance();
typeHandler = ((TypeHandler) impl);
} catch (Exception e) {
throw new SqlMapException("Error loading class specified by handler field in " + token + ". Cause: " + e, e);
}
} else if ("numericScale".equals(field)) {
try {
numericScale = Integer.valueOf(value);
if (numericScale < 0) {
throw new SqlMapException("Value specified for numericScale must be greater than or equal to zero");
}
} catch (NumberFormatException e) {
throw new SqlMapException("Value specified for numericScale is not a valid Integer");
}
} else {
throw new SqlMapException("Unrecognized parameter mapping field: '" + field + "' in " + token);
}
} else {
throw new SqlMapException("Incorrect inline parameter map format (missmatched name=value pairs): " + token);
}
}
if (typeHandler == null) {
if (parameterClass == null) {