/** * Uses a given reference descriptor to build an object based on a given DOMRecord. * If a converter is provided it is applied to the newly built object. The * reference descriptor will wrap the object in an XMLRoot if required, and the * object will be added to the given Container Policy if it is non-null. */ protected Object buildObjectAndWrapInXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); Object objectValue = builder.buildObject(query, nestedRecord, joinManager); if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } Object updated = ((XMLDescriptor) referenceDescriptor).wrapObjectInXMLRoot(objectValue, next.getNamespaceURI(), next.getLocalName(), next.getPrefix(), false, record.isNamespaceAware(), record.getUnmarshaller()); if (containerPolicy != null) { containerPolicy.addInto(updated, container, session); } return updated; }
protected Object buildObjectAndWrapInXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { Object objectValue = null; ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); objectValue = builder.buildObject(query, nestedRecord, joinManager); Object updated = ((XMLDescriptor) referenceDescriptor).wrapObjectInXMLRoot(objectValue, next.getNamespaceURI(), next.getLocalName(), next.getPrefix(), false); if (converter != null) { updated = converter.convertDataValueToObjectValue(updated, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(updated, container, session); } return updated; }
/** * Uses a given reference descriptor to build an object based on a given DOMRecord. * If a converter is provided it is applied to the newly built object. The * reference descriptor will wrap the object in an XMLRoot if required, and the * object will be added to the given Container Policy if it is non-null. */ protected Object buildObjectAndWrapInXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); Object objectValue = builder.buildObject(query, nestedRecord, joinManager); if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } Object updated = ((XMLDescriptor) referenceDescriptor).wrapObjectInXMLRoot(objectValue, next.getNamespaceURI(), next.getLocalName(), next.getPrefix(), false, record.isNamespaceAware(), record.getUnmarshaller()); if (containerPolicy != null) { containerPolicy.addInto(updated, container, session); } return updated; }
/** * Convenience method that takes a given Node and applies namespace * information, converts it if necessary, and adds the resulting * object to the given ContainerPolicy if non-null. */ protected Object buildObjectNoReferenceDescriptor(DOMRecord record, XMLConverter converter, AbstractSession session, Node next, Object container, ContainerPolicy cp) { XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); Object objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (cp != null) { cp.addInto(objectValue, container, session); } return objectValue; }
/** * INTERNAL: * Build the nested record, this can be overwriten by subclasses to use their subclass instance. */ public XMLRecord buildNestedRow(Element element) { DOMRecord record = new DOMRecord(element); record.setUnmarshaller(this.getUnmarshaller()); record.setOwningObject(this.getCurrentObject()); record.setDocPresPolicy(this.getDocPresPolicy()); return record; }
convertedValue = converter.convertDataValueToObjectValue(convertedValue, session, record.getUnmarshaller());
/** * Convenience method that takes a given Node and applies namespace * information, converts it if necessary, and adds the resulting * object to the given ContainerPolicy if non-null. */ protected Object buildObjectNoReferenceDescriptor(DOMRecord record, XMLConverter converter, AbstractSession session, Node next, Object container, ContainerPolicy cp) { XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); Object objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (cp != null) { cp.addInto(objectValue, container, session); } return objectValue; }
convertedValue = converter.convertDataValueToObjectValue(convertedValue, session, record.getUnmarshaller());
protected Object buildObjectNoReferenceDescriptor(DOMRecord record, AbstractSession session, Node next, Object container, ContainerPolicy cp) { XMLConverter converter = ((XMLAnyCollectionMapping) this).getConverter(); XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); Object objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } cp.addInto(objectValue, container, session); return objectValue; }
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
/** * INTERNAL: * Build the nested record, this can be overwriten by subclasses to use their subclass instance. */ public XMLRecord buildNestedRow(Element element) { DOMRecord record = new DOMRecord(element); record.setUnmarshaller(this.getUnmarshaller()); record.setOwningObject(this.getCurrentObject()); record.setDocPresPolicy(this.getDocPresPolicy()); record.setReferenceResolver(referenceResolver); return record; }
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
typeFragment.setNamespaceURI(namespaceURI); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(typeFragment); returnDescriptor = xmlRecord.getUnmarshaller().getXMLContext().getDescriptorByGlobalType(frag);
/** * INTERNAL: * Build the nested record, this can be overwriten by subclasses to use their subclass instance. */ public XMLRecord buildNestedRow(Element element) { DOMRecord record = new DOMRecord(element); record.setUnmarshaller(this.getUnmarshaller()); record.setOwningObject(this.getCurrentObject()); record.setDocPresPolicy(this.getDocPresPolicy()); record.setReferenceResolver(referenceResolver); return record; }
protected Object buildObjectForNonXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { Object objectValue = null; if ((referenceDescriptor != null) && (getKeepAsElementPolicy() != UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); objectValue = builder.buildObject(query, nestedRecord, joinManager); if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } else { if ((getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } } return objectValue; }
protected Object buildObjectForNonXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { Object objectValue = null; if ((referenceDescriptor != null) && (getKeepAsElementPolicy() != UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); objectValue = builder.buildObject(query, nestedRecord, joinManager); if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } else { if ((getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } } return objectValue; }
protected Object buildObjectForNonXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, JoinedAttributeManager joinManager, AbstractSession session, Node next, Object container, ContainerPolicy containerPolicy) { Object objectValue = null; if ((referenceDescriptor != null) && (getKeepAsElementPolicy() != UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { ObjectBuilder builder = referenceDescriptor.getObjectBuilder(); objectValue = builder.buildObject(query, nestedRecord, joinManager); if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } else { if ((getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) { XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) next); objectValue = next; if (converter != null) { objectValue = converter.convertDataValueToObjectValue(objectValue, session, record.getUnmarshaller()); } if (containerPolicy != null) { containerPolicy.addInto(objectValue, container, session); } } } return objectValue; }