}
this.containerPolicy.setContainerClass(concreteMapClass);
}
public void writeSingleValue(Object attributeValue, Object parent, XMLRecord row, AbstractSession session) {
DirectMapContainerPolicy cp = (DirectMapContainerPolicy) this.getContainerPolicy();
if ((attributeValue == null) || (cp.sizeFor(attributeValue) == 0)) {
return;
}
DOMRecord record = (DOMRecord) row;
if (record.getDOM().getNodeType() != Node.ELEMENT_NODE) {
return;
}
Element root = (Element) record.getDOM();
if (field != null) {
root = (Element) XPathEngine.getInstance().create((XMLField) getField(), root, session);
}
List extraNamespaces = new ArrayList();
NamespaceResolver nr = row.getNamespaceResolver();
for (Object iter = cp.iteratorFor(attributeValue); cp.hasNext(iter);) {
Object key = cp.next(iter, session);
if ((key != null) && key instanceof QName) {
Object value = cp.valueFromKey(key, attributeValue);
QName attributeName = (QName) key;
String namespaceURI = attributeName.getNamespaceURI();
String qualifiedName = attributeName.getLocalPart();
if (nr != null) {