@Override protected AbstractRecord buildCompositeRow( Object attributeValue, AbstractSession session, AbstractRecord parentRow, WriteType writeType) { if (((EISDescriptor) getDescriptor()).getDataFormat() == EISDescriptor.XML) { XMLObjectBuilder objectBuilder = (XMLObjectBuilder) getReferenceDescriptor(attributeValue, session).getObjectBuilder(); return objectBuilder.buildRow(attributeValue, session, getField(), (XMLRecord) parentRow); } else { return this.getObjectBuilder(attributeValue, session) .buildRow(attributeValue, session, writeType); } }
protected AbstractRecord buildCompositeRowForDescriptor( ClassDescriptor classDesc, Object attributeValue, AbstractSession session, XMLRecord parentRow, WriteType writeType) { XMLObjectBuilder objectBuilder = (XMLObjectBuilder) classDesc.getObjectBuilder(); XMLRecord child = (XMLRecord) objectBuilder.createRecordFor(attributeValue, (XMLField) getField(), parentRow, this); child.setNamespaceResolver(parentRow.getNamespaceResolver()); child.setSession(session); objectBuilder.buildIntoNestedRow( child, attributeValue, session, (XMLDescriptor) getReferenceDescriptor(), (XMLField) getField()); return child; }