gpt4 book ai didi

org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping类的使用及代码示例

转载 作者:知者 更新时间:2024-03-24 12:41:05 26 4
gpt4 key购买 nike

本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping类的一些代码示例,展示了XMLCompositeObjectMapping类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLCompositeObjectMapping类的具体详情如下:
包路径:org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping
类名称:XMLCompositeObjectMapping

XMLCompositeObjectMapping介绍

[英]Composite object XML mappings represent a relationship between two classes. In XML, the "owned" class may be nested with the element tag representing the "owning" class. This mapping is, by definition, privately owned.

Composite object XML mappings can be used in the following scenarios:

  • Mapping into the Parent Record
  • Mapping to an Element
  • Mapping to Different Elements by Element Name
  • Mapping to Different Elements by Element Position

Setting the XPath: TopLink XML mappings make use of XPath statements to find the relevant data in an XML document. The XPath statement is relative to the context node specified in the descriptor. The XPath may contain path and positional information; the last node in the XPath forms the local root node for the composite object. The XPath is specified on the mapping using the setXPath method.

The following XPath statements may be used to specify the location of XML data relating to an object's name attribute:
XPathDescription.Indicates "self".phone-numberThe phone-number information is stored in the phone-number element.contact-info/phone-numberThe XPath statement may be used to specify any valid path.phone-number[2]The XPath statement may contain positional information. In this case the phone-number information is stored in the second occurrence of the phone-number element.

Mapping into the Parent Record: The composite object may be mapped into the parent record in a corresponding XML document.

XML Schema
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <xsd:element name="customer" type="customer-type"/>   <xsd:complexType name="customer-type">     <xsd:sequence>       <xsd:element name="first-name" type="xsd:string"/>       <xsd:element name="last-name" type="xsd:string"/>       <xsd:element name="street" type="xsd:string"/>       <xsd:element name="city" type="xsd:string"/>     </xsd:sequence>   </xsd:complexType> </xsd:schema>

Code Sample
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping(); addressMapping.setAttributeName("address"); addressMapping.setXPath("."); addressMapping.setReferenceClass(Address.class);

Mapping to an Element: The composite object may be mapped to an element in a corresponding XML document.

XML Schema
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <xsd:element name="customer" type="customer-type"/>   <xsd:complexType name="customer-type">     <xsd:sequence>       <xsd:element name="first-name" type="xsd:string"/>       <xsd:element name="last-name" type="xsd:string"/>       <xsd:element name="address">         <xsd:complexType>           <xsd:sequence>             <xsd:element name="street" type="xsd:string"/>             <xsd:element name="city" type="xsd:string"/>           </xsd:sequence>         </xsd:complexType>       </xsd:element>     </xsd:sequence>   </xsd:complexType> </xsd:schema>

Code Sample
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping(); addressMapping.setAttributeName("address"); addressMapping.setXPath("address"); addressMapping.setReferenceClass(Address.class);

More Information: For more information about using the XML Composite Object Mapping, see the "Understanding XML Mappings" chapter of the Oracle TopLink Developer's Guide.
[中]复合对象XML映射表示两个类之间的关系。在XML中,“owned”类可以嵌套在表示“owning”类的元素标记中。根据定义,这种映射是私有的。
复合对象XML映射可用于以下场景:
*映射到父记录
*映射到元素
*按元素名称映射到不同的元素
*按元素位置映射到不同元素
设置XPath:TopLink XML映射使用XPath语句在XML文档中查找相关数据。XPath语句与描述符中指定的上下文节点相关。XPath可能包含路径和位置信息;XPath中的最后一个节点构成复合对象的本地根节点。XPath是使用setXPath方法在映射上指定的。
以下XPath语句可用于指定与对象名称属性相关的XML数据的位置:
XPathDescription。表示“自我”。电话号码电话号码信息存储在电话号码元素中。联系人信息/电话号码XPath语句可用于指定任何有效路径。电话号码[2]XPath语句可能包含位置信息。在这种情况下,电话号码信息存储在电话号码元素的第二个匹配项中。
映射到父记录:复合对象可以映射到相应XML文档中的父记录。
XML模式
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <xsd:element name="customer" type="customer-type"/>   <xsd:complexType name="customer-type">     <xsd:sequence>       <xsd:element name="first-name" type="xsd:string"/>       <xsd:element name="last-name" type="xsd:string"/>       <xsd:element name="street" type="xsd:string"/>       <xsd:element name="city" type="xsd:string"/>     </xsd:sequence>   </xsd:complexType> </xsd:schema>
代码示例
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping(); addressMapping.setAttributeName("address"); addressMapping.setXPath("."); addressMapping.setReferenceClass(Address.class);
映射到元素:复合对象可以映射到相应XML文档中的元素。
XML模式
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <xsd:element name="customer" type="customer-type"/>   <xsd:complexType name="customer-type">     <xsd:sequence>       <xsd:element name="first-name" type="xsd:string"/>       <xsd:element name="last-name" type="xsd:string"/>       <xsd:element name="address">         <xsd:complexType>           <xsd:sequence>             <xsd:element name="street" type="xsd:string"/>             <xsd:element name="city" type="xsd:string"/>           </xsd:sequence>         </xsd:complexType>       </xsd:element>     </xsd:sequence>   </xsd:complexType> </xsd:schema>
代码示例
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping(); addressMapping.setAttributeName("address"); addressMapping.setXPath("address"); addressMapping.setReferenceClass(Address.class);
更多信息:有关使用XML复合对象映射的更多信息,请参阅《Oracle TopLink开发人员指南》的“理解XML映射”一章。

代码示例

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * INTERNAL:
 */
protected XMLCompositeObjectMapping getAccessMethodsMapping() {
  XMLCompositeObjectMapping accessMethodsMapping = new XMLCompositeObjectMapping();
  accessMethodsMapping.setAttributeName("m_accessMethods");
  accessMethodsMapping.setGetMethodName("getAccessMethods");
  accessMethodsMapping.setSetMethodName("setAccessMethods");
  accessMethodsMapping.setReferenceClass(AccessMethodsMetadata.class);
  accessMethodsMapping.setXPath("orm:access-methods");
  return accessMethodsMapping;
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * @param parentRecord
 * @param aNodeValue
 * @param aNullPolicy
 */
public CompositeObjectMappingContentHandler(UnmarshalRecord parentRecord, //
    XMLCompositeObjectMappingNodeValue aNodeValue, XMLCompositeObjectMapping aMapping, //
    Attributes atts, XPathFragment aFragment, XMLDescriptor aDescriptor) {
  super(parentRecord);
  attributes = atts;
  mapping = aMapping;
  nullPolicy = mapping.getNullPolicy();
  nodeValue = aNodeValue;
  xPathFragment = aFragment;
  xmlDescriptor = aDescriptor;
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

protected ClassDescriptor buildXMLChoiceFieldToClassAssociationDescriptor() {
  ClassDescriptor descriptor = super.buildXMLChoiceFieldToClassAssociationDescriptor();
  XMLCompositeObjectMapping converterMapping = new XMLCompositeObjectMapping();
  converterMapping.setAttributeName("converter");
  converterMapping.setXPath(getPrimaryNamespacePrefix() + "value-converter");
  converterMapping.setReferenceClass(Converter.class);
  descriptor.addMapping(converterMapping);
  return descriptor;
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.dbws

XMLCompositeObjectMapping hrefMapping = new XMLCompositeObjectMapping();
hrefMapping.setAttributeName("_persistence_href");
hrefMapping.setGetMethodName("_persistence_getHref");
hrefMapping.setSetMethodName("_persistence_setHref");
hrefMapping.setDescriptor(descriptor);
hrefMapping.setField(new XMLField("_link"));
hrefMapping.setReferenceClass(Link.class);
hrefMapping.setXPath(".");
descriptor.addMapping(hrefMapping);
XMLCompositeObjectMapping itemLinksMapping = new XMLCompositeObjectMapping();
itemLinksMapping.setAttributeName("_persistence_links");
itemLinksMapping.setGetMethodName("_persistence_getLinks");
itemLinksMapping.setSetMethodName("_persistence_setLinks");
itemLinksMapping.setDescriptor(descriptor);
itemLinksMapping.setReferenceClass(ItemLinks.class);
itemLinksMapping.setXPath(".");
descriptor.addMapping(itemLinksMapping);
        XMLInverseReferenceMapping inverseMapping = ((XMLCompositeObjectMapping) mapping).getInverseReferenceMapping();
        if (inverseMapping != null) {
          break;
        ClassDescriptor jaxbDescriptor = project.getDescriptorForAlias(jpaMapping.getDescriptor().getAlias());
        if (jaxbDescriptor != null) {
          Class clazz = jpaMapping.getReferenceClass();
          if (clazz != null) {
            if ((jpaSession.getDescriptor(clazz) != null) && (jpaSession.getDescriptor(clazz).isEISDescriptor()))

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * INTERNAL:
 * The mapping is initialized with the given session. This mapping is fully initialized
 * after this.
 */
public void initialize(AbstractSession session) throws DescriptorException {
  //modified so that reference class on composite mappings is no longer mandatory
  if ((getReferenceClass() == null) && (getReferenceClassName() != null)) {
    setReferenceClass(session.getDatasourcePlatform().getConversionManager().convertClassNameToClass(getReferenceClassName()));
  }
  if (getReferenceClass() != null) {
    super.initialize(session);
  } else {
    //below should be the same as AbstractCompositeObjectMapping.initialize
    if (getField() == null) {
      throw DescriptorException.fieldNameNotSetInMapping(this);
    }
    setField(getDescriptor().buildField(getField()));
    setFields(collectFields());
    // initialize the converter - if necessary
    if (hasConverter()) {
      getConverter().initialize(this, session);
    }
  }
  if(null != getContainerAccessor()) {
    getContainerAccessor().initializeAttributes(this.referenceClass);
  }
  
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

public Object readFromRowIntoObject(AbstractRecord databaseRow, JoinedAttributeManager joinManager, Object targetObject, CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException {
  Object fieldValue = databaseRow.getIndicatingNoEntry(getField());
    if (getNullPolicy().getIsSetPerformedForAbsentNode()) {
      setAttributeValueInObject(targetObject, null);
    } else {
      return null;
  XMLRecord nestedRow = (XMLRecord) this.getDescriptor().buildNestedRowFromFieldValue(fieldValue);
  if (getNullPolicy().valueIsNull((Element) nestedRow.getDOM())) {
    setAttributeValueInObject(targetObject, null);
    return null;
  Object attributeValue = valueFromRow(fieldValue, nestedRow, joinManager, sourceQuery, executionSession, isTargetProtected);
  setAttributeValueInObject(targetObject, attributeValue);
  if(null != getContainerAccessor()) {
    if(this.inverseReferenceMapping.getContainerPolicy() == null) {
      getContainerAccessor().setAttributeValueInObject(attributeValue, targetObject);
    } else {
      Object backpointerContainer = getContainerAccessor().getAttributeValueFromObject(attributeValue);
      if(backpointerContainer == null) {
        backpointerContainer = this.inverseReferenceMapping.getContainerPolicy().containerInstance();
        getContainerAccessor().setAttributeValueInObject(attributeValue, backpointerContainer);

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

protected void initializeReferenceDescriptorAndField(AbstractSession session){
  if (this.referenceClass != null) {
    super.initialize(session);
  } else {
    //below should be the same as AbstractCompositeObjectMapping.initialize
    if (this.field == null) {
      throw DescriptorException.fieldNameNotSetInMapping(this);
    }
    setField(getDescriptor().buildField(this.field));
    setFields(collectFields());
    // initialize the converter - if necessary
    if (hasConverter()) {
      getConverter().initialize(this, session);
    }
  }
}
/**

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

public Object valueFromRow(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession) throws DatabaseException {
  Object fieldValue = row.get(this.getField());
  // BUG#2667762 there could be whitespace in the row instead of null
  if ((fieldValue == null) || (fieldValue instanceof String)) {
    return null;
  }
  XMLRecord nestedRow = (XMLRecord) this.getDescriptor().buildNestedRowFromFieldValue(fieldValue);
  // Check the policy to see if this DOM record represents null
  if (getNullPolicy().valueIsNull((Element) nestedRow.getDOM())) {
    return null;
  }
  return valueFromRow(fieldValue, nestedRow, joinManager, sourceQuery, executionSession);
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

public void writeSingleValue(Object value, Object parent, XMLRecord record, AbstractSession session) {
  Object attributeValue = convertObjectValueToDataValue(value, session, record.getMarshaller());
  if (((XMLField) getField()).isSelfField()) {
     if (((keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) && attributeValue instanceof org.w3c.dom.Node) {
       ClassDescriptor desc;
       if(null == attributeValue) {
         desc =  this.getReferenceDescriptor();
       } else {
         desc =  this.getReferenceDescriptor(attributeValue.getClass(), session);
         objectBuilder.buildIntoNestedRow(record, attributeValue, session, (XMLDescriptor)getReferenceDescriptor(), (XMLField) getField());
       }else{
         record.put(this.getField(), attributeValue);
    Object fieldValue = null;
    if (attributeValue != null) {
      fieldValue = buildCompositeRow(attributeValue, session, record, WriteType.UNDEFINED);
    } else if (getNullPolicy().compositeObjectMarshal(record, parent, (XMLField) getField(), session)) {
    record.put(this.getField(), fieldValue);

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

XMLDescriptor xmlDescriptor = (XMLDescriptor)xmlCompositeObjectMapping.getReferenceDescriptor();
if (null == xmlDescriptor) {
  xmlDescriptor = findReferenceDescriptor(xPathFragment, unmarshalRecord, atts, xmlCompositeObjectMapping,xmlCompositeObjectMapping.getKeepAsElementPolicy());
    if(xmlCompositeObjectMapping.getField() != null){
      QName leafType = ((XMLField)xmlCompositeObjectMapping.getField()).getLastXPathFragment().getLeafElementType();
      if (leafType != null) {
        XPathFragment frag = new XPathFragment();
        if (uri != null && uri.length() > 0) {
          frag.setNamespaceURI(uri);
          String prefix = ((XMLDescriptor)xmlCompositeObjectMapping.getDescriptor()).getNonNullNamespaceResolver().resolveNamespaceURI(uri);
          if (prefix != null && prefix.length() > 0) {
            xpath = prefix + XMLConstants.COLON + xpath;
  UnmarshalKeepAsElementPolicy policy = xmlCompositeObjectMapping.getKeepAsElementPolicy();
  if (((xmlDescriptor == null) && (policy == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT)) || (policy == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) {
    if(unmarshalRecord.getTypeQName() != null){
if(xmlCompositeObjectMapping.getNullPolicy().isNullRepresentedByEmptyNode() || xmlCompositeObjectMapping.getNullPolicy().isNullRepresentedByXsiNil()) {
  String qnameString = xPathFragment.getLocalName();
  if(xPathFragment.getPrefix() != null) {
  boolean isNull = xmlCompositeObjectMapping.getNullPolicy().valueIsNull(atts);
  if (isNull) {
    xmlCompositeObjectMapping.setAttributeValueInObject(unmarshalRecord.getCurrentObject(), null);
  } else {
    XMLField xmlFld = (XMLField)this.xmlCompositeObjectMapping.getField();

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

public void writeSingleValue(Object value, Object parent, XMLRecord record, AbstractSession session) {
  Object attributeValue = value;
  if (getConverter() != null) {
    if (getConverter() instanceof XMLConverter) {
      attributeValue = ((XMLConverter) getConverter()).convertObjectValueToDataValue(attributeValue, session, record.getMarshaller());
    } else {
      attributeValue = getConverter().convertObjectValueToDataValue(attributeValue, session);
  if (((XMLField) getField()).isSelfField()) {
     if (((keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) && attributeValue instanceof org.w3c.dom.Node) {
       ClassDescriptor desc =  this.getReferenceDescriptor(attributeValue.getClass(), session);
       if(desc != null){
         XMLObjectBuilder objectBuilder = (XMLObjectBuilder)desc.getObjectBuilder();
         boolean addXsiType = shouldAddXsiType((XMLRecord) record, desc);
         objectBuilder.buildIntoNestedRow(record, attributeValue, session, addXsiType);                    
       }else{
         record.put(this.getField(), attributeValue);
    Object fieldValue = null;
    if (attributeValue != null) {                               
      fieldValue = buildCompositeRow(attributeValue, session, record);
    } else if (getNullPolicy().compositeObjectMarshal(record, parent, (XMLField) getField(), session)) {
    record.put(this.getField(), fieldValue);

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * INTERNAL:
 * The mapping is initialized with the given session. This mapping is fully initialized
 * after this.
 */
public void initialize(AbstractSession session) throws DescriptorException {
  //modified so that reference class on composite mappings is no longer mandatory
  String referenceClassName = getReferenceClassName();
  if ((this.referenceClass == null) && (referenceClassName != null)) {
    if (!referenceClassName.equals(XMLConstants.UNKNOWN_OR_TRANSIENT_CLASS)) {
      setReferenceClass(session.getDatasourcePlatform().getConversionManager().convertClassNameToClass(referenceClassName));
    }
  }
  initializeReferenceDescriptorAndField(session);
  
  if(null != getContainerAccessor()) {
    getContainerAccessor().initializeAttributes(this.referenceClass);
  }
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

if (xmlCompositeObjectMapping.getConverter() != null) {
  Converter converter = xmlCompositeObjectMapping.getConverter();
  if (converter instanceof XMLConverter) {
    objectValue = ((XMLConverter)converter).convertObjectValueToDataValue(objectValue, session, marshaller);
  return xmlCompositeObjectMapping.getNullPolicy().compositeObjectMarshal(xPathFragment, marshalRecord, object, session, namespaceResolver);
marshalRecord.closeStartGroupingElements(groupingFragment);
UnmarshalKeepAsElementPolicy keepAsElementPolicy = xmlCompositeObjectMapping.getKeepAsElementPolicy();
if (((keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT) || (keepAsElementPolicy == UnmarshalKeepAsElementPolicy.KEEP_ALL_AS_ELEMENT)) && objectValue instanceof Node) {
  if(xPathFragment.isSelfFragment){
XMLDescriptor descriptor = (XMLDescriptor)xmlCompositeObjectMapping.getReferenceDescriptor();
if(descriptor == null || descriptor.hasInheritance()){
  descriptor = (XMLDescriptor)session.getDescriptor(objectValue.getClass());
  if ((xmlCompositeObjectMapping.getReferenceDescriptor() == null) && (descriptor.getSchemaReference() != null)) {
    addTypeAttributeIfNeeded(descriptor, xmlCompositeObjectMapping, marshalRecord);
   QName schemaType = getSchemaType((XMLField) xmlCompositeObjectMapping.getField(), objectValue, session);
   String stringValue = getValueToWrite(schemaType, objectValue, (XMLConversionManager) session.getDatasourcePlatform().getConversionManager(), namespaceResolver);
   updateNamespaces(schemaType, marshalRecord,((XMLField)xmlCompositeObjectMapping.getField()));
  marshalRecord.characters(stringValue);

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

public void endSelfNodeValue(UnmarshalRecord unmarshalRecord, Attributes attributes) {
  if(xmlCompositeObjectMapping.getNullPolicy().valueIsNull(attributes)){
    xmlCompositeObjectMapping.setAttributeValueInObject(unmarshalRecord.getCurrentObject(), null);
    return;
    UnmarshalKeepAsElementPolicy keepAsElementPolicy = xmlCompositeObjectMapping.getKeepAsElementPolicy();
        if(theClass != null){
          endElementProcessText(unmarshalRecord, xmlCompositeObjectMapping.getConverter(), null, null);
          return;
        xmlCompositeObjectMapping.setAttributeValueInObject(unmarshalRecord.getCurrentObject(), value);
      } else {
        xmlCompositeObjectMapping.setAttributeValueInObject(unmarshalRecord.getCurrentObject(), element);
    if (xmlCompositeObjectMapping.getConverter() != null) {
      Converter converter = xmlCompositeObjectMapping.getConverter();
      if (converter instanceof XMLConverter) {
        valueToSet = ((XMLConverter)converter).convertDataValueToObjectValue(valueToSet, unmarshalRecord.getSession(), unmarshalRecord.getUnmarshaller());
    xmlCompositeObjectMapping.setAttributeValueInObject(unmarshalRecord.getCurrentObject(), valueToSet);
    if (xmlCompositeObjectMapping.getInverseReferenceMapping() != null) {
      xmlCompositeObjectMapping.getInverseReferenceMapping().getAttributeAccessor().setAttributeValueInObject(unmarshalRecord.getCurrentObject(), valueToSet);

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

QName leafType = ((XMLField) getField()).getLastXPathFragment().getLeafElementType();
if (leafType != null) {
  XPathFragment frag = new XPathFragment();
  if ((uri != null) && uri.length() > 0) {
    frag.setNamespaceURI(uri);
    String prefix = ((XMLDescriptor) getDescriptor()).getNonNullNamespaceResolver().resolveNamespaceURI(uri);
    if ((prefix != null) && prefix.length() > 0) {
      xpath = prefix + XMLConstants.COLON + xpath;

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

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;
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

public boolean isNullCapableValue() {
  XMLField xmlField = (XMLField)xmlCompositeObjectMapping.getField();
  if (xmlField.getLastXPathFragment().isSelfFragment) {
    return false;
  }
  return xmlCompositeObjectMapping.getNullPolicy().getIsSetPerformedForAbsentNode();
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * Return a new aggregate/embedded mapping for this type of descriptor.
 */
@Override
public AggregateMapping newAggregateMapping() {
  return new XMLCompositeObjectMapping();
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * Get the XPath String
 * @return String the XPath String associated with this Mapping
 */
public String getXPath() {
  return getField().getName();
}

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

if (oldValue != null && compositeMapping.getContainerAccessor() != null) {
    compositeMapping.getContainerAccessor().setAttributeValueInObject(oldValue, null);
if (mapping.isAbstractCompositeObjectMapping()) {
  XMLCompositeObjectMapping compositeMapping = (XMLCompositeObjectMapping) mapping;
  if (value != null && compositeMapping.getContainerAccessor() != null) {
    compositeMapping.getContainerAccessor().setAttributeValueInObject(newValue, entity);

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com