Search in sources :

Example 1 with XPathQName

use of org.eclipse.persistence.internal.oxm.XPathQName in project eclipselink by eclipse-ee4j.

the class SAXUnmarshallerHandler method startElement.

@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
    try {
        String name;
        if (localName == null || localName.length() == 0) {
            name = qName;
        } else {
            name = localName;
        }
        XPathQName rootQName;
        if (namespaceURI == null || namespaceURI.length() == 0) {
            rootQName = new XPathQName(name, xmlReader.isNamespaceAware());
        } else {
            rootQName = new XPathQName(namespaceURI, name, xmlReader.isNamespaceAware());
        }
        Class<?> primitiveWrapperClass = null;
        Descriptor xmlDescriptor = xmlContext.getDescriptor(rootQName);
        // if no match on root element look for xsi:type
        if (xmlDescriptor == null || (unmarshaller.getMediaType() == MediaType.APPLICATION_JSON && unmarshaller.getJsonTypeConfiguration().getJsonTypeAttributeName() != null && !Constants.SCHEMA_TYPE_ATTRIBUTE.equals(unmarshaller.getJsonTypeConfiguration().getJsonTypeAttributeName()))) {
            boolean isPrimitiveType = false;
            String type = null;
            if (xmlReader.isNamespaceAware()) {
                type = atts.getValue(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, Constants.SCHEMA_TYPE_ATTRIBUTE);
            } else if (unmarshaller.getMediaType() != MediaType.APPLICATION_JSON || unmarshaller.getJsonTypeConfiguration().useJsonTypeCompatibility()) {
                type = atts.getValue(Constants.EMPTY_STRING, Constants.SCHEMA_TYPE_ATTRIBUTE);
            } else if (unmarshaller.getMediaType() == MediaType.APPLICATION_JSON && unmarshaller.getJsonTypeConfiguration().getJsonTypeAttributeName() != null) {
                type = atts.getValue(Constants.EMPTY_STRING, unmarshaller.getJsonTypeConfiguration().getJsonTypeAttributeName());
            }
            if (null != type) {
                XPathFragment typeFragment = new XPathFragment(type, xmlReader.getNamespaceSeparator(), xmlReader.isNamespaceAware());
                // set the prefix using a reverse key lookup by uri value on namespaceMap
                if (xmlReader.isNamespaceAware() && null != unmarshalNamespaceResolver) {
                    typeFragment.setNamespaceURI(unmarshalNamespaceResolver.getNamespaceURI(typeFragment.getPrefix()));
                }
                Descriptor lookupDescriptor = xmlContext.getDescriptorByGlobalType(typeFragment);
                if (lookupDescriptor == null) {
                    QName lookupQName = null;
                    if (typeFragment.getNamespaceURI() == null) {
                        lookupQName = new QName(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI, typeFragment.getLocalName());
                    } else {
                        lookupQName = new QName(typeFragment.getNamespaceURI(), typeFragment.getLocalName());
                    }
                    // check to see if type attribute represents simple type
                    if (null == session) {
                        session = (CoreAbstractSession) xmlContext.getSession();
                    }
                    ConversionManager conversionManager = (ConversionManager) session.getDatasourcePlatform().getConversionManager();
                    primitiveWrapperClass = conversionManager.javaType(lookupQName);
                } else {
                    // found descriptor based on type attribute
                    xmlDescriptor = lookupDescriptor;
                    session = xmlContext.getSession(xmlDescriptor);
                }
            }
        } else {
            if (null != xmlDescriptor.getDefaultRootElementField() && !unmarshaller.isResultAlwaysXMLRoot()) {
                String descLocalName = xmlDescriptor.getDefaultRootElementField().getXPathFragment().getLocalName();
                if (descLocalName != null && descLocalName.equals(localName)) {
                    String descUri = xmlDescriptor.getDefaultRootElementField().getXPathFragment().getNamespaceURI();
                    if (!xmlReader.isNamespaceAware() || (xmlReader.isNamespaceAware() && ((namespaceURI == null && descUri == null) || (namespaceURI != null && namespaceURI.length() == 0 && descUri == null) || (namespaceURI != null && namespaceURI.equals(descUri))))) {
                        // found a descriptor based on root element then know we won't need to wrap in an XMLRoot
                        shouldWrap = false;
                    }
                }
            }
            if (xmlDescriptor.hasInheritance()) {
                // if descriptor has inheritance check class indicator
                session = xmlContext.getSession(xmlDescriptor);
                UnmarshalRecord tmpUnmarshalRecord = new UnmarshalRecordImpl(null);
                tmpUnmarshalRecord.setUnmarshaller(unmarshaller);
                tmpUnmarshalRecord.setUnmarshalNamespaceResolver(unmarshalNamespaceResolver);
                tmpUnmarshalRecord.setXMLReader(this.getXMLReader());
                tmpUnmarshalRecord.setAttributes(atts);
                Class<?> classValue = xmlDescriptor.getInheritancePolicy().classFromRow(new org.eclipse.persistence.oxm.record.UnmarshalRecord(tmpUnmarshalRecord), session);
                if (classValue == null) {
                    // no xsi:type attribute - look for type indicator on the default root element
                    QName leafElementType = xmlDescriptor.getDefaultRootElementType();
                    // if we have a user-set type, try to get the class from the inheritance policy
                    if (leafElementType != null) {
                        Object indicator = xmlDescriptor.getInheritancePolicy().getClassIndicatorMapping().get(leafElementType);
                        if (indicator != null) {
                            classValue = (Class) indicator;
                        }
                    }
                }
                if (classValue != null) {
                    xmlDescriptor = (Descriptor) session.getDescriptor(classValue);
                } else {
                    // sure it is non-abstract
                    if (Modifier.isAbstract(xmlDescriptor.getJavaClass().getModifiers())) {
                        // need to throw an exception here
                        throw DescriptorException.missingClassIndicatorField(tmpUnmarshalRecord, (org.eclipse.persistence.oxm.XMLDescriptor) xmlDescriptor.getInheritancePolicy().getDescriptor());
                    }
                }
            }
        }
        if (null == xmlDescriptor) {
            // check for a cached object and look for descriptor by class
            Object obj = this.xmlReader.getCurrentObject(session, null);
            if (obj != null) {
                xmlDescriptor = (Descriptor) xmlContext.getSession(obj.getClass()).getDescriptor(obj.getClass());
            }
        }
        if (null == xmlDescriptor && primitiveWrapperClass == null) {
            if (!this.keepAsElementPolicy.isKeepNoneAsElement()) {
                this.documentBuilder = new SAXDocumentBuilder();
                documentBuilder.startDocument();
                // start any prefixes that have already been started
                for (String prefix : this.unmarshalNamespaceResolver.getPrefixes()) {
                    documentBuilder.startPrefixMapping(prefix, this.unmarshalNamespaceResolver.getNamespaceURI(prefix));
                }
                documentBuilder.startElement(namespaceURI, localName, qName, atts);
                this.xmlReader.setContentHandler(documentBuilder);
                return;
            }
            Class<?> unmappedContentHandlerClass = unmarshaller.getUnmappedContentHandlerClass();
            if (null == unmappedContentHandlerClass) {
                throw XMLMarshalException.noDescriptorWithMatchingRootElement(rootQName.toString());
            } else {
                UnmappedContentHandler unmappedContentHandler;
                try {
                    PrivilegedNewInstanceFromClass privilegedNewInstanceFromClass = new PrivilegedNewInstanceFromClass(unmappedContentHandlerClass);
                    unmappedContentHandler = (UnmappedContentHandler) privilegedNewInstanceFromClass.run();
                } catch (ClassCastException e) {
                    throw XMLMarshalException.unmappedContentHandlerDoesntImplement(e, unmappedContentHandlerClass.getName());
                } catch (IllegalAccessException e) {
                    throw XMLMarshalException.errorInstantiatingUnmappedContentHandler(e, unmappedContentHandlerClass.getName());
                } catch (InstantiationException e) {
                    throw XMLMarshalException.errorInstantiatingUnmappedContentHandler(e, unmappedContentHandlerClass.getName());
                }
                UnmappedContentHandlerWrapper unmappedContentHandlerWrapper = new UnmappedContentHandlerWrapper(unmappedContentHandler, this);
                unmappedContentHandler.startElement(namespaceURI, localName, qName, atts);
                xmlReader.setContentHandler(unmappedContentHandler);
                setObject(unmappedContentHandlerWrapper.getCurrentObject());
                return;
            }
        }
        if (xmlDescriptor == null && primitiveWrapperClass != null) {
            session = xmlContext.getSession((Descriptor) null);
            rootRecord = unmarshaller.createRootUnmarshalRecord(primitiveWrapperClass);
            rootRecord.setSession((CoreAbstractSession) unmarshaller.getContext().getSession());
        } else {
            if (session == null) {
                session = xmlContext.getSession(xmlDescriptor);
            }
            rootRecord = unmarshaller.createUnmarshalRecord(xmlDescriptor, session);
        }
        this.descriptor = xmlDescriptor;
        rootRecord.setUnmarshaller(this.unmarshaller);
        rootRecord.setXMLReader(this.getXMLReader());
        if (locator != null) {
            rootRecord.setDocumentLocator(xmlReader.getLocator());
        }
        rootRecord.setAttributes(atts);
        boolean hasNilAttribute = (atts != null && null != atts.getValue(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, Constants.SCHEMA_NIL_ATTRIBUTE));
        rootRecord.setNil(isNil || hasNilAttribute);
        rootRecord.setUnmarshalNamespaceResolver(unmarshalNamespaceResolver);
        rootRecord.startDocument();
        rootRecord.initializeRecord(null);
        xmlReader.setContentHandler(rootRecord);
        xmlReader.setLexicalHandler(rootRecord);
        Object attributeGroup = this.unmarshaller.getUnmarshalAttributeGroup();
        if (attributeGroup != null) {
            if (attributeGroup.getClass() == CoreClassConstants.STRING) {
                CoreAttributeGroup group = descriptor.getAttributeGroup((String) attributeGroup);
                if (group != null) {
                    rootRecord.setUnmarshalAttributeGroup(group);
                } else {
                // Error
                }
            } else if (attributeGroup instanceof CoreAttributeGroup) {
                rootRecord.setUnmarshalAttributeGroup((CoreAttributeGroup) attributeGroup);
            } else {
            // Error case
            }
        }
        rootRecord.startElement(namespaceURI, localName, qName, atts);
    // if we located the descriptor via xsi:type attribute, create and
    // return an XMLRoot object
    } catch (EclipseLinkException e) {
        if (null == xmlReader.getErrorHandler()) {
            throw e;
        } else {
            SAXParseException saxParseException = new SAXParseException(null, null, null, 0, 0, e);
            xmlReader.getErrorHandler().error(saxParseException);
        }
    }
}
Also used : CoreAttributeGroup(org.eclipse.persistence.core.queries.CoreAttributeGroup) XPathFragment(org.eclipse.persistence.internal.oxm.XPathFragment) EclipseLinkException(org.eclipse.persistence.exceptions.EclipseLinkException) SAXParseException(org.xml.sax.SAXParseException) ConversionManager(org.eclipse.persistence.internal.oxm.ConversionManager) UnmappedContentHandler(org.eclipse.persistence.internal.oxm.unmapped.UnmappedContentHandler) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) QName(javax.xml.namespace.QName) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) SAXDocumentBuilder(org.eclipse.persistence.platform.xml.SAXDocumentBuilder) PrivilegedNewInstanceFromClass(org.eclipse.persistence.internal.security.PrivilegedNewInstanceFromClass) Descriptor(org.eclipse.persistence.internal.oxm.mappings.Descriptor)

Example 2 with XPathQName

use of org.eclipse.persistence.internal.oxm.XPathQName in project eclipselink by eclipse-ee4j.

the class XMLDescriptor method setDeclaredTypeOnXMLRoot.

private void setDeclaredTypeOnXMLRoot(Root xmlRoot, String elementNamespaceUri, String elementLocalName, boolean isNamespaceAware, Unmarshaller unmarshaller) {
    XPathQName xpathQName = new XPathQName(elementNamespaceUri, elementLocalName, isNamespaceAware);
    Descriptor desc = unmarshaller.getContext().getDescriptor(xpathQName);
    if (desc != null) {
        xmlRoot.setDeclaredType(desc.getJavaClass());
    }
}
Also used : XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) Descriptor(org.eclipse.persistence.internal.oxm.mappings.Descriptor) ClassDescriptor(org.eclipse.persistence.descriptors.ClassDescriptor)

Example 3 with XPathQName

use of org.eclipse.persistence.internal.oxm.XPathQName in project eclipselink by eclipse-ee4j.

the class XMLCompositeCollectionMapping method buildObjectFromNestedRow.

public Object buildObjectFromNestedRow(AbstractRecord nestedRow, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected) {
    Object objectToAdd = null;
    ClassDescriptor aDescriptor = getReferenceDescriptor((DOMRecord) nestedRow);
    if (aDescriptor == null) {
        if ((getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) {
            XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) ((DOMRecord) nestedRow).getDOM());
            objectToAdd = ((DOMRecord) nestedRow).getDOM();
            convertDataValueToObjectValue(objectToAdd, executionSession, ((XMLRecord) nestedRow).getUnmarshaller());
            // simple case
            objectToAdd = convertToSimpleTypeIfPresent(objectToAdd, nestedRow, executionSession);
        } else {
            NodeList children = ((DOMRecord) nestedRow).getDOM().getChildNodes();
            for (int i = 0; i < children.getLength(); i++) {
                Node nextNode = children.item(i);
                if (nextNode.getNodeType() == Node.ELEMENT_NODE) {
                    // complex child
                    String type = ((Element) ((DOMRecord) nestedRow).getDOM()).getAttributeNS(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, XMLConstants.SCHEMA_TYPE_ATTRIBUTE);
                    if (type != null && type.length() > 0) {
                        throw XMLMarshalException.unknownXsiTypeValue(type, (Mapping) this);
                    } else {
                        throw XMLMarshalException.noDescriptorFound((Mapping) this);
                    }
                }
            }
            // simple case
            objectToAdd = convertToSimpleTypeIfPresent(objectToAdd, nestedRow, executionSession);
        }
    } else {
        if (aDescriptor.hasInheritance()) {
            Class<?> newElementClass = aDescriptor.getInheritancePolicy().classFromRow(nestedRow, executionSession);
            if (newElementClass == null) {
                // no xsi:type attribute - look for type indicator on the field
                QName leafElementType = ((XMLField) getField()).getLeafElementType();
                if (leafElementType != null) {
                    XPathQName leafElementXPathQName = new XPathQName(leafElementType, ((XMLRecord) nestedRow).isNamespaceAware());
                    Object indicator = aDescriptor.getInheritancePolicy().getClassIndicatorMapping().get(leafElementXPathQName);
                    if (indicator != null) {
                        newElementClass = (Class) indicator;
                    }
                }
            }
            if (newElementClass != null) {
                aDescriptor = this.getReferenceDescriptor(newElementClass, executionSession);
            } else {
                // use the reference descriptor -  make sure it is non-abstract
                if (Modifier.isAbstract(aDescriptor.getJavaClass().getModifiers())) {
                    // throw an exception
                    throw DescriptorException.missingClassIndicatorField(nestedRow, aDescriptor.getInheritancePolicy().getDescriptor());
                }
            }
        }
        // Object element
        objectToAdd = buildCompositeObject(aDescriptor, nestedRow, sourceQuery, null, joinManager, executionSession);
        objectToAdd = convertDataValueToObjectValue(objectToAdd, executionSession, ((XMLRecord) nestedRow).getUnmarshaller());
    }
    return objectToAdd;
}
Also used : XMLField(org.eclipse.persistence.oxm.XMLField) ClassDescriptor(org.eclipse.persistence.descriptors.ClassDescriptor) DOMRecord(org.eclipse.persistence.oxm.record.DOMRecord) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) QName(javax.xml.namespace.QName) NodeList(org.w3c.dom.NodeList) Node(org.w3c.dom.Node) Element(org.w3c.dom.Element) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) XMLRecord(org.eclipse.persistence.oxm.record.XMLRecord)

Example 4 with XPathQName

use of org.eclipse.persistence.internal.oxm.XPathQName in project eclipselink by eclipse-ee4j.

the class XMLCompositeObjectMapping method valueFromRow.

public Object valueFromRow(Object fieldValue, XMLRecord nestedRow, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException {
    // pretty sure we can ignore inheritance here:
    Object toReturn = null;
    // Use local descriptor - not the instance variable on DatabaseMapping
    ClassDescriptor aDescriptor = getReferenceDescriptor((DOMRecord) nestedRow);
    if (aDescriptor == null) {
        if ((getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (getKeepAsElementPolicy() == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) {
            XMLPlatformFactory.getInstance().getXMLPlatform().namespaceQualifyFragment((Element) nestedRow.getDOM());
            toReturn = nestedRow.getDOM();
            toReturn = convertDataValueToObjectValue(toReturn, executionSession, nestedRow.getUnmarshaller());
            // try simple case
            toReturn = convertToSimpleTypeIfPresent(toReturn, nestedRow, executionSession);
            return toReturn;
        } else {
            NodeList children = nestedRow.getDOM().getChildNodes();
            for (int i = 0, childrenLength = children.getLength(); i < childrenLength; i++) {
                Node nextNode = children.item(i);
                if (nextNode.getNodeType() == Node.ELEMENT_NODE) {
                    // complex child
                    String type = ((Element) nestedRow.getDOM()).getAttributeNS(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, XMLConstants.SCHEMA_TYPE_ATTRIBUTE);
                    if (type != null && type.length() > 0) {
                        throw XMLMarshalException.unknownXsiTypeValue(type, (CompositeObjectMapping) this);
                    } else {
                        throw XMLMarshalException.noDescriptorFound((CompositeObjectMapping) this);
                    }
                }
            }
            // simple case
            toReturn = convertToSimpleTypeIfPresent(toReturn, nestedRow, executionSession);
        }
    } else {
        if (aDescriptor.hasInheritance()) {
            Class<?> classValue = aDescriptor.getInheritancePolicy().classFromRow(nestedRow, executionSession);
            if (classValue == null) {
                // no xsi:type attribute - look for type indicator on the field
                QName leafElementType = ((XMLField) getField()).getLeafElementType();
                if (leafElementType != null) {
                    XPathQName leafElementXPathQName = new XPathQName(leafElementType, nestedRow.isNamespaceAware());
                    Object indicator = aDescriptor.getInheritancePolicy().getClassIndicatorMapping().get(leafElementXPathQName);
                    if (indicator != null) {
                        classValue = (Class) indicator;
                    }
                }
            }
            if (classValue != null) {
                aDescriptor = this.getReferenceDescriptor(classValue, executionSession);
            } else {
                // use the reference descriptor -  make sure it is non-abstract
                if (Modifier.isAbstract(aDescriptor.getJavaClass().getModifiers())) {
                    // throw an exception
                    throw DescriptorException.missingClassIndicatorField((org.eclipse.persistence.internal.oxm.record.XMLRecord) nestedRow, aDescriptor.getInheritancePolicy().getDescriptor());
                }
            }
        }
        ObjectBuilder objectBuilder = aDescriptor.getObjectBuilder();
        toReturn = buildCompositeObject(objectBuilder, nestedRow, sourceQuery, null, joinManager, executionSession);
    }
    if (getConverter() != null) {
        if (getConverter() instanceof XMLConverter) {
            toReturn = ((XMLConverter) getConverter()).convertDataValueToObjectValue(toReturn, executionSession, nestedRow.getUnmarshaller());
        } else {
            toReturn = getConverter().convertDataValueToObjectValue(toReturn, executionSession);
        }
    }
    return toReturn;
}
Also used : XMLField(org.eclipse.persistence.oxm.XMLField) ClassDescriptor(org.eclipse.persistence.descriptors.ClassDescriptor) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) QName(javax.xml.namespace.QName) NodeList(org.w3c.dom.NodeList) Node(org.w3c.dom.Node) Element(org.w3c.dom.Element) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) XMLConverter(org.eclipse.persistence.oxm.mappings.converters.XMLConverter) ObjectBuilder(org.eclipse.persistence.internal.descriptors.ObjectBuilder) XMLObjectBuilder(org.eclipse.persistence.internal.oxm.XMLObjectBuilder)

Example 5 with XPathQName

use of org.eclipse.persistence.internal.oxm.XPathQName in project eclipselink by eclipse-ee4j.

the class UnmarshalRecordImpl method initializeRecord.

private void initializeRecord(Attributes attrs) throws SAXException {
    this.setAttributes(attrs);
    Descriptor xmlDescriptor = (Descriptor) treeObjectBuilder.getDescriptor();
    if (!xmlDescriptor.hasInheritance() || xmlDescriptor.getInheritancePolicy().getClassIndicatorField() == null) {
        initialize((ObjectBuilder) xmlDescriptor.getObjectBuilder());
        initializeRecord((Mapping) null);
        return;
    }
    CoreInheritancePolicy inheritancePolicy = xmlDescriptor.getInheritancePolicy();
    Class<?> classValue = treeObjectBuilder.classFromRow(this, session);
    if (classValue == null) {
        // no xsi:type attribute - look for type indicator on the default root element
        QName leafElementType = xmlDescriptor.getDefaultRootElementType();
        // if we have a user-set type, try to get the class from the inheritance policy
        if (leafElementType != null) {
            XPathQName xpathQName = new XPathQName(leafElementType, isNamespaceAware());
            Object indicator = inheritancePolicy.getClassIndicatorMapping().get(xpathQName);
            if (indicator != null) {
                classValue = (Class) indicator;
            }
        }
    }
    if (classValue != null) {
        xmlDescriptor = (Descriptor) session.getDescriptor(classValue);
    }
    initialize((ObjectBuilder) xmlDescriptor.getObjectBuilder());
    initializeRecord((Mapping) null);
}
Also used : XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) QName(javax.xml.namespace.QName) XPathQName(org.eclipse.persistence.internal.oxm.XPathQName) Descriptor(org.eclipse.persistence.internal.oxm.mappings.Descriptor) CoreDescriptor(org.eclipse.persistence.core.descriptors.CoreDescriptor) CoreInheritancePolicy(org.eclipse.persistence.core.descriptors.CoreInheritancePolicy)

Aggregations

XPathQName (org.eclipse.persistence.internal.oxm.XPathQName)6 QName (javax.xml.namespace.QName)4 Descriptor (org.eclipse.persistence.internal.oxm.mappings.Descriptor)4 ClassDescriptor (org.eclipse.persistence.descriptors.ClassDescriptor)3 XMLField (org.eclipse.persistence.oxm.XMLField)2 Element (org.w3c.dom.Element)2 Node (org.w3c.dom.Node)2 NodeList (org.w3c.dom.NodeList)2 CoreDescriptor (org.eclipse.persistence.core.descriptors.CoreDescriptor)1 CoreInheritancePolicy (org.eclipse.persistence.core.descriptors.CoreInheritancePolicy)1 CoreAttributeGroup (org.eclipse.persistence.core.queries.CoreAttributeGroup)1 EclipseLinkException (org.eclipse.persistence.exceptions.EclipseLinkException)1 ObjectBuilder (org.eclipse.persistence.internal.descriptors.ObjectBuilder)1 ConversionManager (org.eclipse.persistence.internal.oxm.ConversionManager)1 Root (org.eclipse.persistence.internal.oxm.Root)1 XMLObjectBuilder (org.eclipse.persistence.internal.oxm.XMLObjectBuilder)1 XPathFragment (org.eclipse.persistence.internal.oxm.XPathFragment)1 UnmappedContentHandler (org.eclipse.persistence.internal.oxm.unmapped.UnmappedContentHandler)1 PrivilegedNewInstanceFromClass (org.eclipse.persistence.internal.security.PrivilegedNewInstanceFromClass)1 XMLConverter (org.eclipse.persistence.oxm.mappings.converters.XMLConverter)1