/** * INTERNAL * @since 2.5.0 */ @Override public XMLRoot createRoot() { return new XMLRoot(); }
/** * INTERNAL * @since 2.5.0 */ @Override public XMLRoot createRoot() { return new XMLRoot(); }
/** * Convenience method that builds an XMLRoot wrapping a given object. * The local name and uri are set using the given Node. */ protected XMLRoot buildXMLRoot(Node node, Object object) { XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setLocalName(node.getLocalName()); xmlRoot.setNamespaceURI(node.getNamespaceURI()); xmlRoot.setObject(object); return xmlRoot; }
/** * Convenience method that builds an XMLRoot wrapping a given object. * The local name and uri are set using the given Node. */ protected XMLRoot buildXMLRoot(Node node, Object object) { XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setLocalName(node.getLocalName()); xmlRoot.setNamespaceURI(node.getNamespaceURI()); xmlRoot.setObject(object); return xmlRoot; }
public Object getObject() { if(object == null) { if(this.descriptor != null) { object = this.descriptor.wrapObjectInXMLRoot(this.rootRecord, this.unmarshaller.isResultAlwaysXMLRoot()); } else if(documentBuilder != null) { Node node = (Node)documentBuilder.getDocument().getDocumentElement(); XMLRoot root = new XMLRoot(); root.setLocalName(node.getLocalName()); root.setNamespaceURI(node.getNamespaceURI()); root.setObject(node); object = root; } else { if(rootRecord != null) { object = this.rootRecord.getCurrentObject(); } } } return this.object; }
public Object convertObjectValueToDataValue(Object objectValue, Session session, XMLMarshaller marshaller) { if(null != nestedConverter) { objectValue = nestedConverter.convertObjectValueToDataValue(objectValue, session, marshaller); } if(objectValue instanceof JAXBElement) { ClassDescriptor desc = session.getDescriptor(objectValue); if(desc == null || objectValue instanceof WrappedValue){ JAXBElement element = (JAXBElement) objectValue; Root root = new XMLRoot(); root.setLocalName(element.getName().getLocalPart()); root.setNamespaceURI(element.getName().getNamespaceURI()); root.setObject(element.getValue()); root.setDeclaredType(element.getDeclaredType()); root.setNil(element.isNil()); return root; } } return objectValue; }
@Override public Object convertObjectValueToDataValue(Object objectValue, Session session, XMLMarshaller marshaller) { if(null != nestedConverter) { objectValue = nestedConverter.convertObjectValueToDataValue(objectValue, session, marshaller); } if(objectValue instanceof JAXBElement) { ClassDescriptor desc = session.getDescriptor(objectValue); if(desc == null || objectValue instanceof WrappedValue){ JAXBElement element = (JAXBElement) objectValue; Root root = new XMLRoot(); root.setLocalName(element.getName().getLocalPart()); root.setNamespaceURI(element.getName().getNamespaceURI()); root.setObject(element.getValue()); root.setDeclaredType(element.getDeclaredType()); root.setNil(element.isNil()); return root; } } return objectValue; }
public Object wrapObjectInXMLRoot(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix, String encoding, String version, boolean forceWrap) { if (forceWrap || shouldWrapObject(object, elementNamespaceUri, elementLocalName, elementPrefix)) { // if the DOMRecord element != descriptor's default // root element, create an XMLRoot, populate and return it XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setLocalName(elementLocalName); xmlRoot.setNamespaceURI(elementNamespaceUri); xmlRoot.setObject(object); xmlRoot.setEncoding(encoding); xmlRoot.setVersion(version); return xmlRoot; } return object; }
/** * INTERNAL: * Determines the appropriate object to return from the unmarshal * call. The method will either return the object created in the * xmlReader.parse() call or an instance of Root. An Root * instance will be returned if the DOMRecord element being * unmarshalled does not equal the descriptor's default root * element. * * @param object * @param elementNamespaceUri * @param elementLocalName * @param elementPrefix * @return object */ public Object wrapObjectInXMLRoot(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix, boolean forceWrap, boolean isNamespaceAware, XMLUnmarshaller xmlUnmarshaller) { if (forceWrap || shouldWrapObject(object, elementNamespaceUri, elementLocalName, elementPrefix, isNamespaceAware)) { // if the DOMRecord element != descriptor's default // root element, create an Root, populate and return it Root xmlRoot = new XMLRoot(); xmlRoot.setLocalName(elementLocalName); xmlRoot.setNamespaceURI(elementNamespaceUri); xmlRoot.setObject(object); setDeclaredTypeOnXMLRoot(xmlRoot, elementNamespaceUri, elementLocalName, isNamespaceAware, xmlUnmarshaller); return xmlRoot; } return object; }
/** * INTERNAL: * Determines the appropriate object to return from the unmarshal * call. The method will either return the object created in the * xmlReader.parse() call or an instance of Root. An Root * instance will be returned if the DOMRecord element being * unmarshalled does not equal the descriptor's default root * element. * * @param object * @param elementNamespaceUri * @param elementLocalName * @param elementPrefix * @return object */ public Object wrapObjectInXMLRoot(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix, boolean forceWrap, boolean isNamespaceAware, XMLUnmarshaller xmlUnmarshaller) { if (forceWrap || shouldWrapObject(object, elementNamespaceUri, elementLocalName, elementPrefix, isNamespaceAware)) { // if the DOMRecord element != descriptor's default // root element, create an Root, populate and return it Root xmlRoot = new XMLRoot(); xmlRoot.setLocalName(elementLocalName); xmlRoot.setNamespaceURI(elementNamespaceUri); xmlRoot.setObject(object); setDeclaredTypeOnXMLRoot(xmlRoot, elementNamespaceUri, elementLocalName, isNamespaceAware, xmlUnmarshaller); return xmlRoot; } return object; }
/** * INTERNAL: * @return */ public Object wrapObjectInXMLRoot(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix, String encoding, String version, boolean forceWrap, boolean isNamespaceAware, XMLUnmarshaller unmarshaller) { if (forceWrap || shouldWrapObject(object, elementNamespaceUri, elementLocalName, elementPrefix, isNamespaceAware)) { // if the DOMRecord element != descriptor's default // root element, create an XMLRoot, populate and return it Root xmlRoot = new XMLRoot(); xmlRoot.setLocalName(elementLocalName); xmlRoot.setNamespaceURI(elementNamespaceUri); xmlRoot.setObject(object); xmlRoot.setEncoding(encoding); xmlRoot.setVersion(version); setDeclaredTypeOnXMLRoot(xmlRoot, elementNamespaceUri, elementLocalName, isNamespaceAware, unmarshaller); return xmlRoot; } return object; }
/** * INTERNAL: * @return */ public Object wrapObjectInXMLRoot(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix, String encoding, String version, boolean forceWrap, boolean isNamespaceAware, XMLUnmarshaller unmarshaller) { if (forceWrap || shouldWrapObject(object, elementNamespaceUri, elementLocalName, elementPrefix, isNamespaceAware)) { // if the DOMRecord element != descriptor's default // root element, create an XMLRoot, populate and return it Root xmlRoot = new XMLRoot(); xmlRoot.setLocalName(elementLocalName); xmlRoot.setNamespaceURI(elementNamespaceUri); xmlRoot.setObject(object); xmlRoot.setEncoding(encoding); xmlRoot.setVersion(version); setDeclaredTypeOnXMLRoot(xmlRoot, elementNamespaceUri, elementLocalName, isNamespaceAware, unmarshaller); return xmlRoot; } return object; }
protected void setOrAddAttributeValue(UnmarshalRecord unmarshalRecord, Object value, XPathFragment xPathFragment, Object collection){ if (!xmlAnyObjectMapping.usesXMLRoot()) { unmarshalRecord.setAttributeValue(value, xmlAnyObjectMapping); } else { XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setNamespaceURI(xPathFragment.getNamespaceURI()); xmlRoot.setSchemaType(unmarshalRecord.getTypeQName()); xmlRoot.setLocalName(xPathFragment.getLocalName()); xmlRoot.setObject(value); unmarshalRecord.setAttributeValue(xmlRoot, xmlAnyObjectMapping); } }
protected void setOrAddAttributeValue(UnmarshalRecord unmarshalRecord, Object value, XPathFragment xPathFragment, Object collection){ if (!xmlAnyCollectionMapping.usesXMLRoot()) { unmarshalRecord.addAttributeValue(this, value); } else { XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setNamespaceURI(xPathFragment.getNamespaceURI()); xmlRoot.setSchemaType(unmarshalRecord.getTypeQName()); xmlRoot.setLocalName(xPathFragment.getLocalName()); xmlRoot.setObject(value); unmarshalRecord.addAttributeValue(this, xmlRoot); } }
public Object convertDataValueToObjectValue(Object dataValue, Session session) { XMLRoot root = new XMLRoot(); root.setLocalName(this.rootFragment.getLocalName()); root.setNamespaceURI(this.rootFragment.getNamespaceURI()); if(mapping.isAbstractDirectMapping()){ if ((dataValue == null) || (dataValue.getClass() != mapping.getAttributeClassification())) { try { dataValue = session.getDatasourcePlatform().convertObject(dataValue, mapping.getAttributeClassification()); } catch (ConversionException e) { throw ConversionException.couldNotBeConverted(this, mapping.getDescriptor(), e); } } } root.setObject(dataValue); return root; }
public Object convertDataValueToObjectValue(Object dataValue, Session session) { XMLRoot root = new XMLRoot(); root.setLocalName(this.rootFragment.getLocalName()); root.setNamespaceURI(this.rootFragment.getNamespaceURI()); if(mapping.isAbstractDirectMapping()){ if ((dataValue == null) || (dataValue.getClass() != mapping.getAttributeClassification())) { try { dataValue = session.getDatasourcePlatform().convertObject(dataValue, mapping.getAttributeClassification()); } catch (ConversionException e) { throw ConversionException.couldNotBeConverted(this, mapping.getDescriptor(), e); } } } root.setObject(dataValue); return root; }
public Object convertDataValueToObjectValue(Object dataValue, Session session) { XMLRoot root = new XMLRoot(); root.setLocalName(this.rootFragment.getLocalName()); root.setNamespaceURI(this.rootFragment.getNamespaceURI()); if(mapping.isAbstractDirectMapping()){ if ((dataValue == null) || (dataValue.getClass() != mapping.getAttributeClassification())) { try { dataValue = session.getDatasourcePlatform().convertObject(dataValue, mapping.getAttributeClassification()); } catch (ConversionException e) { throw ConversionException.couldNotBeConverted(this, mapping.getDescriptor(), e); } } } root.setObject(dataValue); return root; }
private Object buildFragment(Property property, SDODataObject parentObject, SDODataObject value) { //build an XML Fragment from this SDO XMLPlatform xmlPlatform = XMLPlatformFactory.getInstance().getXMLPlatform(); XMLMarshaller xmlMarshaller = ((SDOXMLHelper)helperContext.getXMLHelper()).getXmlContext().createMarshaller(); Document doc = xmlPlatform.createDocument(); XMLRoot root = new XMLRoot(); root.setObject(value); root.setLocalName(property.getName()); if(((SDOProperty)property).isNamespaceQualified()){ root.setNamespaceURI(parentObject.getType().getURI()); } xmlMarshaller.marshal(root, doc); return doc.getDocumentElement(); } }
/** * Return a populated XMLRoot object. */ public Object getCurrentObject() { // this assumes that since we're unmarshalling to a primitive wrapper, the root // element has a single text node. if, however, the root element doesn't have // a text node as a first child, we'll try converting null String val = null; if (characters != null) { val = characters.toString(); } XMLRoot xmlRoot = new XMLRoot(); xmlRoot.setObject(((XMLConversionManager) session.getDatasourcePlatform().getConversionManager()).convertObject(val, targetClass)); xmlRoot.setLocalName(getRootElementName()); xmlRoot.setNamespaceURI(getRootElementNamespaceUri()); return xmlRoot; }
private Object buildFragment(Property property, SDODataObject parentObject, SDODataObject value) { //build an XML Fragment from this SDO XMLPlatform xmlPlatform = XMLPlatformFactory.getInstance().getXMLPlatform(); XMLMarshaller xmlMarshaller = ((SDOXMLHelper)helperContext.getXMLHelper()).getXmlContext().createMarshaller(); Document doc = xmlPlatform.createDocument(); XMLRoot root = new XMLRoot(); root.setObject(value); root.setLocalName(property.getName()); if(((SDOProperty)property).isNamespaceQualified()){ root.setNamespaceURI(parentObject.getType().getURI()); } xmlMarshaller.marshal(root, doc); return doc.getDocumentElement(); } }