com.evolveum.midpoint.prism.Item.getElementName()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(75)

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

Item.getElementName介绍

[英]Returns the name of the item.

The name is a QName. It uniquely defines an item.

The name may be null, but such an item will not work.

The name is the QName of XML element in the XML representation.
[中]返回项的名称。
该名称是一个QName。它唯一地定义了一个项。
名称可能为空,但这样的项将不起作用。
名称是XML表示中XML元素的QName。

代码示例

代码示例来源:origin: Evolveum/midpoint

private boolean hasMetadata(PrismContainerValue<R> cVal) {
  for (Item<?, ?> item : cVal.getItems()) {
    QName itemName = item.getElementName();
    if (itemName.equals(AbstractCredentialType.F_METADATA)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: Evolveum/midpoint

private String presentAttributeNames() {
  StringBuilder sb = new StringBuilder();
  Iterator<Item<?, ?>> iterator = getAttributes().getItems().iterator();
  while (iterator.hasNext()) {
    sb.append(PrettyPrinter.prettyPrint(iterator.next().getElementName()));
    if (iterator.hasNext()) {
      sb.append(", ");
    }
  }
  return sb.toString();
}

代码示例来源:origin: Evolveum/midpoint

private String presentItemNames() {
  StringBuilder sb = new StringBuilder();
  Iterator<Item<?, ?>> iterator = getPrismValue().getItems().iterator();
  while (iterator.hasNext()) {
    sb.append(PrettyPrinter.prettyPrint(iterator.next().getElementName()));
    if (iterator.hasNext()) {
      sb.append(", ");
    }
  }
  return sb.toString();
}

代码示例来源:origin: Evolveum/midpoint

public static String prettyPrint(Item<?, ?> item) {
  String values = item.getValues().stream()
      .map(value -> PrettyPrinter.prettyPrint(value))
      .collect(Collectors.joining(", "));
  return PrettyPrinter.prettyPrint(item.getElementName()) + "={" + values + "}";
}

代码示例来源:origin: Evolveum/midpoint

public QName getElementName() {
  Item<V,D> anyItem = getAnyItem();
  if (anyItem != null) {
    return anyItem.getElementName();
  }
  if (delta != null) {
    return delta.getElementName();
  }
  return null;
}

代码示例来源:origin: Evolveum/midpoint

public <IV extends PrismValue,ID extends ItemDefinition> void remove(Item<IV,ID> item) {
  Validate.notNull(item, "Item must not be null.");
  checkMutability();
  Item<IV,ID> existingItem = findItem(item.getElementName(), Item.class);
  if (existingItem != null && items != null) {
    items.remove(existingItem);
    existingItem.setParent(null);
  }
}

代码示例来源:origin: Evolveum/midpoint

private boolean hasValueChange(PrismContainerValue<R> cVal) {
  for (Item<?, ?> item : cVal.getItems()) {
    QName itemName = item.getElementName();
    if (isValueElement(itemName)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: Evolveum/midpoint

public static void assertDefinition(Item item, QName type, int minOccurs, int maxOccurs) {
  ItemDefinition definition = item.getDefinition();
  assertDefinition(definition, item.getElementName(), type, minOccurs, maxOccurs);
}

代码示例来源:origin: Evolveum/midpoint

@SuppressWarnings("unchecked")
public void mergeContent(PrismContainerValue<?> other, List<QName> overwrite) throws SchemaException {
  List<ItemName> remainingToOverwrite = overwrite.stream().map(ItemName::fromQName).collect(Collectors.toList());
  if (other.getItems() != null) {
    for (Item<?, ?> otherItem : other.getItems()) {
      Item<?, ?> existingItem = findItem(otherItem.getElementName());
      if (QNameUtil.remove(remainingToOverwrite, otherItem.getElementName())
          || existingItem != null && existingItem.isSingleValue()) {
        remove(existingItem);
      }
      merge(otherItem.clone());
    }
  }
  remainingToOverwrite.forEach(name -> removeItem(name, Item.class));
}

代码示例来源:origin: Evolveum/midpoint

/**
 * Adds an item to a property container. Existing value will be replaced.
 *
 * @param item item to add.
 */
public <IV extends PrismValue,ID extends ItemDefinition> void addReplaceExisting(Item<IV,ID> item) throws SchemaException {
  checkMutability();
  if (item == null) {
    return;
  }
  Item<IV,ID> existingItem = findItem(item.getElementName(), Item.class);
  if (existingItem != null && items != null) {
    items.remove(existingItem);
    existingItem.setParent(null);
  }
  add(item);
}

代码示例来源:origin: Evolveum/midpoint

private <C extends Containerable> ItemDefinition getItemDefinition(PrismContainerValue<C> cval, Item<?, ?> item) {
  if (item.getDefinition() != null) {
    return item.getDefinition();
  }
  ComplexTypeDefinition ctd = cval.getComplexTypeDefinition();
  if (ctd == null) {
    return null;
  }
  return ctd.findLocalItemDefinition(item.getElementName());
}

代码示例来源:origin: Evolveum/midpoint

void trimItemsDefinitionsTrees(Collection<? extends ItemPath> alwaysKeep) {
  // to play safe, we won't touch PCV-specific complexTypeDefinition
  for (Item<?, ?> item : CollectionUtils.emptyIfNull(items)) {
    if (item instanceof PrismContainer) {
      Collection<ItemPath> alwaysKeepInSub = ItemPathCollectionsUtil.remainder(CollectionUtils.emptyIfNull(alwaysKeep),
          item.getElementName(), false);
      ((PrismContainer<?>) item).trimDefinitionTree(alwaysKeepInSub);
    }
  }
}

代码示例来源:origin: Evolveum/midpoint

public static void assertParentConsistency(Item<?,?> item) {
  for (PrismValue pval: item.getValues()) {
    assert pval.getParent() == item : "Wrong parent of "+pval+" in "+PrettyPrinter.prettyPrint(item.getElementName());
    if (pval instanceof PrismContainerValue) {
      assertParentConsistency((PrismContainerValue)pval);
    }
  }
}

代码示例来源:origin: Evolveum/midpoint

private <T> PrismProperty<T> findProp(List<Item<?, ?>> items, String local) {
  for (Item<?, ?> item: items) {
    if (local.equals(item.getElementName().getLocalPart())) {
      return (PrismProperty<T>) item;
    }
  }
  fail("No item "+local);
  return null; // not reached
}

代码示例来源:origin: Evolveum/midpoint

public static void mergeExtension(PrismContainerValue<?> dstExtensionContainerValue, PrismContainerValue<?> srcExtensionContainerValue) throws SchemaException {
  for (Item<?,?> srcExtensionItem: emptyIfNull(srcExtensionContainerValue.getItems())) {
    Item<?,?> magicItem = dstExtensionContainerValue.findItem(srcExtensionItem.getElementName());
    if (magicItem == null) {
      //noinspection unchecked
      dstExtensionContainerValue.add(srcExtensionItem.clone());
    }
  }
}

代码示例来源:origin: Evolveum/midpoint

public PrismContainerValueAsserter<C,RA> assertItems(QName... expectedItems) {
  for (QName expectedItem: expectedItems) {
    Item<PrismValue,ItemDefinition> item = getPrismValue().findItem(ItemName.fromQName(expectedItem));
    if (item == null) {
      fail("Expected item "+expectedItem+" in "+desc()+" but there was none. Items present: "+presentItemNames());
    }
  }
  for (Item<?, ?> existingItem : getPrismValue().getItems()) {
    if (!QNameUtil.contains(expectedItems, existingItem.getElementName())) {
      fail("Unexpected item "+existingItem.getElementName()+" in "+desc()+". Expected items: "+QNameUtil.prettyPrint(expectedItems));
    }
  }
  return this;
}

代码示例来源:origin: Evolveum/midpoint

private String getItemLabel(Item item) {
  return item.getDefinition().getDisplayName() != null ?
      resolve(item.getDefinition().getDisplayName()) : item.getElementName().getLocalPart();
}

代码示例来源:origin: Evolveum/midpoint

private SceneItemImpl createSceneItemCommon(Item<?,?> item) {
  SceneItemImpl si = new SceneItemImpl(createSceneItemName(item));
  ItemDefinition<?> def = item.getDefinition();
  if (def != null) {
    si.setOperational(def.isOperational());
  }
  si.setSourceItem(item);
  si.setSourceRelPath(item.getElementName());
  return si;
}

代码示例来源:origin: Evolveum/midpoint

private <IV extends PrismValue,ID extends ItemDefinition, I extends Item<IV,ID>> void deepCloneDefinitionItem(I item, boolean ultraDeep, PrismContainerDefinition<C> clonedContainerDef, Consumer<ItemDefinition> postCloneAction) {
  PrismContainerDefinition<C> oldContainerDef = getDefinition();
  ItemName itemName = item.getElementName();
  ID oldItemDefFromContainer = oldContainerDef.findItemDefinition(itemName);
  ID oldItemDef = item.getDefinition();
  ID clonedItemDef;
  if (oldItemDefFromContainer == oldItemDef) {
    clonedItemDef = clonedContainerDef.findItemDefinition(itemName);
  } else {
    clonedItemDef = (ID) oldItemDef.deepClone(ultraDeep, postCloneAction);
  }
  ((ItemImpl) item).propagateDeepCloneDefinition(ultraDeep, clonedItemDef, postCloneAction);        // propagate to items in values
  item.setDefinition(clonedItemDef);                                    // sets CTD in values only if null!
}

代码示例来源:origin: Evolveum/midpoint

private NameImpl createSceneItemName(Item<?,?> item) {
  NameImpl name = new NameImpl(item.getElementName().getLocalPart());
  ItemDefinition<?> def = item.getDefinition();
  if (def != null) {
    name.setDisplayName(def.getDisplayName());
    name.setDescription(def.getDocumentation());
  }
  name.setId(name.getSimpleName());        // todo reconsider
  name.setNamesAreResourceKeys(true);
  return name;
}

相关文章