org.eclipse.persistence.internal.oxm.QNameInheritancePolicy.getParentDescriptor()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(103)

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

QNameInheritancePolicy.getParentDescriptor介绍

暂无

代码示例

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

private List<ClassDescriptor> getAllDescriptorsForInheritance(XMLDescriptor descriptor) {
  ArrayList<ClassDescriptor> descriptors = new ArrayList<ClassDescriptor>();
  QNameInheritancePolicy policy = (QNameInheritancePolicy) descriptor.getInheritancePolicy();
  descriptors.add(descriptor);
  descriptors.addAll(policy.getAllChildDescriptors());
  ClassDescriptor parent = policy.getParentDescriptor();
  while(parent != null) {
    descriptors.add(parent);
    parent = parent.getInheritancePolicy().getParentDescriptor();
  }
  return descriptors;
}

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

private List<ClassDescriptor> getAllDescriptorsForInheritance(XMLDescriptor descriptor) {
  ArrayList<ClassDescriptor> descriptors = new ArrayList<ClassDescriptor>();
  QNameInheritancePolicy policy = (QNameInheritancePolicy) descriptor.getInheritancePolicy();
  descriptors.add(descriptor);
  descriptors.addAll(policy.getAllChildDescriptors());
  ClassDescriptor parent = policy.getParentDescriptor();
  while(parent != null) {
    descriptors.add(parent);
    parent = parent.getInheritancePolicy().getParentDescriptor();
  }
  return descriptors;
  
}

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

/**
 * Override to control order of uniqueTables, child tablenames should be first since 
 * getDefaultRootElement on an XMLDescriptor will return the first table.
 */
protected void updateTables(){
  // Unique is required because the builder can add the same table many times.
  Vector<DatabaseTable> childTables = getDescriptor().getTables();
  Vector<DatabaseTable> parentTables = getParentDescriptor().getTables();
  Vector<DatabaseTable> uniqueTables = Helper.concatenateUniqueVectors(childTables, parentTables);
  getDescriptor().setTables(uniqueTables);
  
  
  // After filtering out any duplicate tables, set the default table
  // if one is not already set. This must be done now before any other
  // initialization occurs. In a joined strategy case, the default 
  // table will be at an index greater than 0. Which is where
  // setDefaultTable() assumes it is. Therefore, we need to send the 
  // actual default table instead.
  if (childTables.isEmpty()) {
    getDescriptor().setInternalDefaultTable();
  } else {
    getDescriptor().setInternalDefaultTable(uniqueTables.get(uniqueTables.indexOf(childTables.get(0))));
  }
}

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

/**
 * Override to control order of uniqueTables, child tablenames should be first since 
 * getDefaultRootElement on an XMLDescriptor will return the first table.
 */
protected void updateTables(){
  // Unique is required because the builder can add the same table many times.
  Vector<DatabaseTable> childTables = getDescriptor().getTables();
  Vector<DatabaseTable> parentTables = getParentDescriptor().getTables();
  Vector<DatabaseTable> uniqueTables = Helper.concatenateUniqueVectors(childTables, parentTables);
  getDescriptor().setTables(uniqueTables);
  
  if(getDescriptor().isXMLDescriptor() && getParentDescriptor().isXMLDescriptor()){
    if(((XMLDescriptor)getDescriptor()).getDefaultRootElementField() == null){
      ((XMLDescriptor)getDescriptor()).setDefaultRootElementField(((XMLDescriptor)getParentDescriptor()).getDefaultRootElementField());
    }
  }
  
  // After filtering out any duplicate tables, set the default table
  // if one is not already set. This must be done now before any other
  // initialization occurs. In a joined strategy case, the default 
  // table will be at an index greater than 0. Which is where
  // setDefaultTable() assumes it is. Therefore, we need to send the 
  // actual default table instead.
  if (childTables.isEmpty()) {
    getDescriptor().setInternalDefaultTable();
  } else {
    getDescriptor().setInternalDefaultTable(uniqueTables.get(uniqueTables.indexOf(childTables.get(0))));
  }
}

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

/**
 * Override to control order of uniqueTables, child tablenames should be first since
 * getDefaultRootElement on an XMLDescriptor will return the first table.
 */
protected void updateTables(){
  // Unique is required because the builder can add the same table many times.
  Vector<DatabaseTable> childTables = getDescriptor().getTables();
  Vector<DatabaseTable> parentTables = getParentDescriptor().getTables();
  Vector<DatabaseTable> uniqueTables = Helper.concatenateUniqueVectors(childTables, parentTables);
  getDescriptor().setTables(uniqueTables);
  if(getDescriptor().isXMLDescriptor() && getParentDescriptor().isXMLDescriptor()){
    if(((XMLDescriptor)getDescriptor()).getDefaultRootElementField() == null){
      ((XMLDescriptor)getDescriptor()).setDefaultRootElementField(((XMLDescriptor)getParentDescriptor()).getDefaultRootElementField());
    }
  }
  // After filtering out any duplicate tables, set the default table
  // if one is not already set. This must be done now before any other
  // initialization occurs. In a joined strategy case, the default
  // table will be at an index greater than 0. Which is where
  // setDefaultTable() assumes it is. Therefore, we need to send the
  // actual default table instead.
  if (childTables.isEmpty()) {
    getDescriptor().setInternalDefaultTable();
  } else {
    getDescriptor().setInternalDefaultTable(uniqueTables.get(uniqueTables.indexOf(childTables.get(0))));
  }
}

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

if (getParentDescriptor().hasMultitenantPolicy()) {
  MultitenantPolicy clonedMultitenantPolicy = (MultitenantPolicy) getParentDescriptor().getMultitenantPolicy().clone(getDescriptor());
  getDescriptor().setMultitenantPolicy(clonedMultitenantPolicy);
setClassIndicatorMapping(getParentDescriptor().getInheritancePolicy().getClassIndicatorMapping());
setShouldUseClassNameAsIndicator(getParentDescriptor().getInheritancePolicy().shouldUseClassNameAsIndicator());
getDescriptor().setPrimaryKeyFields(getParentDescriptor().getPrimaryKeyFields());
getDescriptor().setAdditionalTablePrimaryKeyFields(Helper.concatenateMaps(getParentDescriptor().getAdditionalTablePrimaryKeyFields(), getDescriptor().getAdditionalTablePrimaryKeyFields()));
setClassIndicatorField(getParentDescriptor().getInheritancePolicy().getClassIndicatorField());
  getDescriptor().setSequenceNumberField(getParentDescriptor().getSequenceNumberField());
  getDescriptor().setSequenceNumberName(getParentDescriptor().getSequenceNumberName());

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

if (getParentDescriptor().hasMultitenantPolicy()) {
  MultitenantPolicy clonedMultitenantPolicy = (MultitenantPolicy) getParentDescriptor().getMultitenantPolicy().clone(getDescriptor());
  getDescriptor().setMultitenantPolicy(clonedMultitenantPolicy);
setClassIndicatorMapping(getParentDescriptor().getInheritancePolicy().getClassIndicatorMapping());
setShouldUseClassNameAsIndicator(getParentDescriptor().getInheritancePolicy().shouldUseClassNameAsIndicator());
getDescriptor().setPrimaryKeyFields(getParentDescriptor().getPrimaryKeyFields());
getDescriptor().setAdditionalTablePrimaryKeyFields(Helper.concatenateMaps(getParentDescriptor().getAdditionalTablePrimaryKeyFields(), getDescriptor().getAdditionalTablePrimaryKeyFields()));
setClassIndicatorField(getParentDescriptor().getInheritancePolicy().getClassIndicatorField());
  getDescriptor().setSequenceNumberField(getParentDescriptor().getSequenceNumberField());
  getDescriptor().setSequenceNumberName(getParentDescriptor().getSequenceNumberName());

相关文章