}
} else {
handler = config.resolveTypeHandler(client.getDelegate().getTypeHandlerFactory(),
resultMap.getResultClass(), propertyName, javaClass, jdbcType, true);
}
ResultMapping mapping = new ResultMapping();
mapping.setPropertyName(propertyName);
mapping.setColumnName(columnName);
mapping.setJdbcTypeName(jdbcType);
mapping.setTypeHandler(handler);
mapping.setNullValue(nullValue);
mapping.setNotNullColumn(notNullColumn);
mapping.setStatementName(statementName);
mapping.setNestedResultMapName(resultMapName);
if (resultMapName != null && resultMapName.length() > 0) {
resultMap.addNestedResultMappings(mapping);
}
mapping.setJavaType(javaClass);
if (columnIndex != null) {
mapping.setColumnIndex(columnIndex.intValue());
} else {
resultMappingIndex++;
mapping.setColumnIndex(resultMappingIndex);
}
resultMappingList.add(mapping);
resultMap.setResultMappingList(resultMappingList);
}