//text.
XMLField field = null;
Object value = this.getCharacters();
Class attributeClassification = null;
AbstractNullPolicy nullPolicy;
boolean isSwaRef = false;
if(isCollection) {
isSwaRef = ((XMLBinaryDataCollectionMapping)mapping).isSwaRef();
field = (XMLField)((XMLBinaryDataCollectionMapping)mapping).getField();
attributeClassification =((XMLBinaryDataCollectionMapping)mapping).getAttributeElementClass();
nullPolicy =((XMLBinaryDataCollectionMapping)mapping).getNullPolicy();
} else {
isSwaRef = ((XMLBinaryDataMapping)mapping).isSwaRef();
field = (XMLField)((XMLBinaryDataMapping)mapping).getField();
attributeClassification =((XMLBinaryDataMapping)mapping).getAttributeClassification();
nullPolicy =((XMLBinaryDataMapping)mapping).getNullPolicy();
}
if (isSwaRef && (parent.getUnmarshaller().getAttachmentUnmarshaller() != null)) {
if(attributeClassification != null && attributeClassification == XMLBinaryDataHelper.getXMLBinaryDataHelper().DATA_HANDLER) {
value = parent.getUnmarshaller().getAttachmentUnmarshaller().getAttachmentAsDataHandler(value.toString());
} else {
value = parent.getUnmarshaller().getAttachmentUnmarshaller().getAttachmentAsByteArray(value.toString());
}
} else {
Object valueFromReader = this.parent.getXMLReader().getValue(getCharacters(), attributeClassification);
if(parent.isNil() && nullPolicy.isNullRepresentedByXsiNil()){
value = null;
}
else{
if(null != valueFromReader) {
value = valueFromReader;
} else {
String valueString = value.toString();
if(valueString.length() == 0 && nullPolicy.isNullRepresentedByEmptyNode()){
value = null;
}else{
value = XMLConversionManager.getDefaultXMLManager().convertSchemaBase64ToByteArray(valueString);
}
}