int n1 = paramParser.countTokens();
if (n1 == 3) {
String name = paramParser.nextToken();
paramParser.nextToken(); //ignore ":"
String type = paramParser.nextToken();
TypeHandler handler;
if (parameterClass == null) {
handler = typeHandlerRegistry.getUnknownTypeHandler();
} else {
handler = resolveTypeHandler(parameterClass, name, null, JdbcType.valueOf(type));
}
ParameterMapping.Builder mapping = new ParameterMapping.Builder(configuration, name, handler);
mapping.jdbcType(JdbcType.valueOf(type));
return mapping.build();
} else if (n1 >= 5) {
throw new UnsupportedOperationException("iBATIS 3 does not support null value substitution.");
} else {
throw new SqlMapException("Incorrect inline parameter map format: " + token);
}
} else {
TypeHandler handler;
if (parameterClass == null) {
handler = typeHandlerRegistry.getUnknownTypeHandler();
} else {
handler = resolveTypeHandler(parameterClass, token, null, null);
}