Search in sources :

Example 21 with XMLCollectionReferenceMapping

use of org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping in project eclipselink by eclipse-ee4j.

the class AttributeProject method getEmployeeDescriptor.

private XMLDescriptor getEmployeeDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Employee.class);
    descriptor.addPrimaryKeyFieldName("id/@id1");
    descriptor.addPrimaryKeyFieldName("id/@ns:id2");
    NamespaceResolver namespaceResolver = new NamespaceResolver();
    namespaceResolver.put("ns", "urn:example");
    descriptor.setNamespaceResolver(namespaceResolver);
    XMLCompositeObjectMapping idMapping = new XMLCompositeObjectMapping();
    idMapping.setAttributeName("id");
    idMapping.setXPath("id");
    idMapping.setReferenceClass(EmployeeID.class);
    descriptor.addMapping(idMapping);
    XMLObjectReferenceMapping managerMapping = new XMLObjectReferenceMapping();
    managerMapping.setAttributeName("manager");
    managerMapping.addSourceToTargetKeyFieldAssociation("manager/@fk1", "id/@id1");
    managerMapping.addSourceToTargetKeyFieldAssociation("manager/@ns:fk2", "id/@ns:id2");
    managerMapping.setReferenceClass(Employee.class);
    descriptor.addMapping(managerMapping);
    XMLCollectionReferenceMapping employeesMapping = new XMLCollectionReferenceMapping();
    employeesMapping.setAttributeName("teamMembers");
    employeesMapping.addSourceToTargetKeyFieldAssociation("team-member/@fk1", "id/@id1");
    employeesMapping.addSourceToTargetKeyFieldAssociation("team-member/@ns:fk2", "id/@ns:id2");
    employeesMapping.setReferenceClass(Employee.class);
    descriptor.addMapping(employeesMapping);
    return descriptor;
}
Also used : XMLDescriptor(org.eclipse.persistence.oxm.XMLDescriptor) XMLObjectReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping) XMLCollectionReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping) NamespaceResolver(org.eclipse.persistence.oxm.NamespaceResolver) XMLCompositeObjectMapping(org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping)

Example 22 with XMLCollectionReferenceMapping

use of org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping in project eclipselink by eclipse-ee4j.

the class CompositeElementKeySingleNodeProject method getEmployeeDescriptor.

private XMLDescriptor getEmployeeDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Employee.class);
    descriptor.setDefaultRootElement("employee");
    // create id mapping
    XMLDirectMapping idMapping = new XMLDirectMapping();
    idMapping.setAttributeName("id");
    idMapping.setXPath("@id");
    descriptor.addMapping(idMapping);
    // create name mapping
    XMLDirectMapping nameMapping = new XMLDirectMapping();
    nameMapping.setAttributeName("name");
    nameMapping.setXPath("name/text()");
    descriptor.addMapping(nameMapping);
    // create address mapping
    XMLCollectionReferenceMapping addressMapping = new XMLCollectionReferenceMapping();
    addressMapping.useCollectionClass(ArrayList.class);
    addressMapping.setUsesSingleNode(true);
    addressMapping.setAttributeName("addresses");
    addressMapping.setReferenceClass(Address.class);
    addressMapping.addSourceToTargetKeyFieldAssociation("address/id-city/text()", "city/text()");
    addressMapping.addSourceToTargetKeyFieldAssociation("address/id-zip/text()", "zip/text()");
    descriptor.addMapping(addressMapping);
    return descriptor;
}
Also used : XMLDescriptor(org.eclipse.persistence.oxm.XMLDescriptor) XMLDirectMapping(org.eclipse.persistence.oxm.mappings.XMLDirectMapping) XMLCollectionReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping)

Example 23 with XMLCollectionReferenceMapping

use of org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping in project eclipselink by eclipse-ee4j.

the class SingleNodeProject method getEmployeeDescriptor.

private XMLDescriptor getEmployeeDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Employee.class);
    descriptor.addPrimaryKeyFieldName("id/id1/text()");
    descriptor.addPrimaryKeyFieldName("id/ns:id2/text()");
    NamespaceResolver namespaceResolver = new NamespaceResolver();
    namespaceResolver.put("ns", "urn:example");
    descriptor.setNamespaceResolver(namespaceResolver);
    XMLCompositeObjectMapping idMapping = new XMLCompositeObjectMapping();
    idMapping.setAttributeName("id");
    idMapping.setXPath("id");
    idMapping.setReferenceClass(EmployeeID.class);
    descriptor.addMapping(idMapping);
    XMLObjectReferenceMapping managerMapping = new XMLObjectReferenceMapping();
    managerMapping.setAttributeName("manager");
    managerMapping.addSourceToTargetKeyFieldAssociation("manager/@fk1", "id/id1/text()");
    managerMapping.addSourceToTargetKeyFieldAssociation("manager/ns:fk2/text()", "id/ns:id2/text()");
    managerMapping.setReferenceClass(Employee.class);
    descriptor.addMapping(managerMapping);
    XMLCollectionReferenceMapping employeesMapping = new XMLCollectionReferenceMapping();
    employeesMapping.setAttributeName("teamMembers");
    employeesMapping.addSourceToTargetKeyFieldAssociation("team-member/@fk1", "id/id1/text()");
    employeesMapping.addSourceToTargetKeyFieldAssociation("team-member/ns:fk2/text()", "id/ns:id2/text()");
    employeesMapping.setReferenceClass(Employee.class);
    employeesMapping.setUsesSingleNode(true);
    descriptor.addMapping(employeesMapping);
    return descriptor;
}
Also used : XMLDescriptor(org.eclipse.persistence.oxm.XMLDescriptor) XMLObjectReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping) XMLCollectionReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping) NamespaceResolver(org.eclipse.persistence.oxm.NamespaceResolver) XMLCompositeObjectMapping(org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping)

Example 24 with XMLCollectionReferenceMapping

use of org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping in project eclipselink by eclipse-ee4j.

the class NestedAttributeKeyProject method getEmployeeDescriptor.

private XMLDescriptor getEmployeeDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Employee.class);
    descriptor.setDefaultRootElement("employee");
    // create id mapping
    XMLDirectMapping idMapping = new XMLDirectMapping();
    idMapping.setAttributeName("id");
    idMapping.setXPath("@id");
    descriptor.addMapping(idMapping);
    // create name mapping
    XMLDirectMapping nameMapping = new XMLDirectMapping();
    nameMapping.setAttributeName("name");
    nameMapping.setXPath("name/text()");
    descriptor.addMapping(nameMapping);
    // create address mapping
    XMLCollectionReferenceMapping addressMapping = new XMLCollectionReferenceMapping();
    addressMapping.useCollectionClass(ArrayList.class);
    addressMapping.setAttributeName("addresses");
    addressMapping.setXPath("addresses");
    addressMapping.setReferenceClass(Address.class);
    addressMapping.addSourceToTargetKeyFieldAssociation("address-ref/@address-city", "city/text()");
    addressMapping.addSourceToTargetKeyFieldAssociation("address-ref/@address-zip", "zip/text()");
    addressMapping.setUsesSingleNode(false);
    descriptor.addMapping(addressMapping);
    return descriptor;
}
Also used : XMLDescriptor(org.eclipse.persistence.oxm.XMLDescriptor) XMLDirectMapping(org.eclipse.persistence.oxm.mappings.XMLDirectMapping) XMLCollectionReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping)

Example 25 with XMLCollectionReferenceMapping

use of org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping in project eclipselink by eclipse-ee4j.

the class SingleAttributeKeyProject method getEmployeeDescriptor.

private XMLDescriptor getEmployeeDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Employee.class);
    descriptor.setDefaultRootElement("employee");
    // create id mapping
    XMLDirectMapping idMapping = new XMLDirectMapping();
    idMapping.setAttributeName("id");
    idMapping.setXPath("@id");
    descriptor.addMapping(idMapping);
    // create name mapping
    XMLDirectMapping nameMapping = new XMLDirectMapping();
    nameMapping.setAttributeName("name");
    nameMapping.setXPath("name/text()");
    descriptor.addMapping(nameMapping);
    // create address mapping
    XMLCollectionReferenceMapping addressMapping = new XMLCollectionReferenceMapping();
    addressMapping.useCollectionClass(ArrayList.class);
    addressMapping.setAttributeName("addresses");
    addressMapping.setReferenceClass(Address.class);
    addressMapping.addSourceToTargetKeyFieldAssociation("@address-ids", "@aid");
    addressMapping.setUsesSingleNode(true);
    descriptor.addMapping(addressMapping);
    return descriptor;
}
Also used : XMLDescriptor(org.eclipse.persistence.oxm.XMLDescriptor) XMLDirectMapping(org.eclipse.persistence.oxm.mappings.XMLDirectMapping) XMLCollectionReferenceMapping(org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping)

Aggregations

XMLCollectionReferenceMapping (org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping)34 XMLDescriptor (org.eclipse.persistence.oxm.XMLDescriptor)32 XMLDirectMapping (org.eclipse.persistence.oxm.mappings.XMLDirectMapping)20 XMLObjectReferenceMapping (org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping)14 NamespaceResolver (org.eclipse.persistence.oxm.NamespaceResolver)12 XMLCompositeObjectMapping (org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping)7 XMLSchemaClassPathReference (org.eclipse.persistence.oxm.schema.XMLSchemaClassPathReference)4 XMLField (org.eclipse.persistence.oxm.XMLField)3 ArrayList (java.util.ArrayList)2 XMLAnyObjectMapping (org.eclipse.persistence.oxm.mappings.XMLAnyObjectMapping)2 XMLCompositeCollectionMapping (org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping)2 JAXBException (jakarta.xml.bind.JAXBException)1 InputStream (java.io.InputStream)1 HashMap (java.util.HashMap)1 QName (javax.xml.namespace.QName)1 Source (javax.xml.transform.Source)1 StreamSource (javax.xml.transform.stream.StreamSource)1 ClassDescriptor (org.eclipse.persistence.descriptors.ClassDescriptor)1 InstanceVariableAttributeAccessor (org.eclipse.persistence.internal.descriptors.InstanceVariableAttributeAccessor)1 MethodAttributeAccessor (org.eclipse.persistence.internal.descriptors.MethodAttributeAccessor)1