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

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

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

Item.applyDefinition介绍

暂无

代码示例

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

public void applyDefinition(D def, boolean force) throws SchemaException {
  if (itemNew != null) {
    itemNew.applyDefinition(def, force);
  }
  if (itemOld != null) {
    itemOld.applyDefinition(def, force);
  }
  if (delta != null) {
    delta.applyDefinition(def, force);
  }
}

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

/**
 * Adds an item to a property container.
 *
 * @param item item to add.
 * @throws SchemaException
 * @throws IllegalArgumentException an attempt to add value that already exists
 */
public <IV extends PrismValue,ID extends ItemDefinition> boolean add(Item<IV,ID> item, boolean checkUniqueness) throws SchemaException {
  checkMutability();
  if (item.getElementName() == null) {
    throw new IllegalArgumentException("Cannot add item without a name to value of container "+getParent());
  }
  if (checkUniqueness && findItem(item.getElementName(), Item.class) != null) {
    throw new IllegalArgumentException("Item " + item.getElementName() + " is already present in " + this.getClass().getSimpleName());
  }
  item.setParent(this);
  PrismContext prismContext = getPrismContext();
  if (prismContext != null) {
    item.setPrismContext(prismContext);
  }
  if (getComplexTypeDefinition() != null && item.getDefinition() == null) {
    item.applyDefinition((ID)determineItemDefinition(item.getElementName(), getComplexTypeDefinition()), false);
  }
  if (items == null) {
    items = new ArrayList<>();
  }
  return items.add(item);
}

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

item.applyDefinition(itemDefinition, force);

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

item.applyDefinition(getDefinition());

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

def.setMaxOccurs(-1);
  def.setRuntimeSchema(true);
  item.applyDefinition(def, true);
} else if (rValType == RItemKind.REFERENCE) {
  MutablePrismReferenceDefinition def = object.getPrismContext().definitionFactory().createReferenceDefinition(name, type);
  def.setMaxOccurs(-1);
  def.setRuntimeSchema(true);
  item.applyDefinition(def, true);
} else {
  throw new UnsupportedOperationException("Unsupported value type " + rValType);

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

private void applyAttributeDefinition(ProvisioningContext ctx, PrismValue value)
    throws SchemaException, ConfigurationException, ObjectNotFoundException, CommunicationException, ExpressionEvaluationException {
  if (!(value instanceof PrismContainerValue)) {
    return; // should never occur
  }
  PrismContainerValue<ShadowAttributesType> pcv = (PrismContainerValue<ShadowAttributesType>) value;
  for (Item item : pcv.getItems()) {
    ItemDefinition itemDef = item.getDefinition();
    if (itemDef == null || !(itemDef instanceof ResourceAttributeDefinition)) {
      QName attributeName = item.getElementName();
      ResourceAttributeDefinition attributeDefinition = ctx.getObjectClassDefinition()
          .findAttributeDefinition(attributeName);
      if (attributeDefinition == null) {
        throw new SchemaException("No definition for attribute " + attributeName);
      }
      if (itemDef != null) {
        // We are going to rewrite the definition anyway. Let's just
        // do some basic checks first
        if (!QNameUtil.match(itemDef.getTypeName(), attributeDefinition.getTypeName())) {
          throw new SchemaException("The value of type " + itemDef.getTypeName()
              + " cannot be applied to attribute " + attributeName + " which is of type "
              + attributeDefinition.getTypeName());
        }
      }
      item.applyDefinition(attributeDefinition);
    }
  }
}

相关文章