unmarshalRecord.resetStringBuffer();
return;
}
unmarshalRecord.removeNullCapableValue(this);
Field xmlField = (Field) xmlDirectMapping.getField();
if (!xmlField.getLastXPathFragment().nameIsText) {
return;
}
Object value;
CharSequence unmarshalRecordCharacters = unmarshalRecord.getCharacters();
if (unmarshalRecordCharacters.length() == 0) {
value = xmlDirectMapping.getNullValue();
} else {
value = unmarshalRecordCharacters.toString();
}
unmarshalRecord.resetStringBuffer();
CoreAbstractSession session = unmarshalRecord.getSession();
XMLConversionManager xmlConversionManager = (XMLConversionManager) session.getDatasourcePlatform().getConversionManager();
QName typeQName = unmarshalRecord.getTypeQName();
if (typeQName != null) {
Class typeClass = xmlField.getJavaClass(typeQName);
value = xmlConversionManager.convertObject(value, typeClass, typeQName);
} else {
value = unmarshalRecord.getXMLReader().convertValueBasedOnSchemaType(xmlField, value, xmlConversionManager, unmarshalRecord);
}