public Item<V,D> getOutput() throws SchemaException { if (outputTriple == null) { return null; } //noinspection unchecked Item<V,D> output = outputDefinition.instantiate(); output.addAll(PrismValueCollectionsUtil.cloneCollection(outputTriple.getNonNegativeValues())); return output; }
public static <IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> parseValueElements(Collection<?> valueElements, ID outputDefinition, String contextDescription) throws SchemaException { Item<IV,ID> output = null; for (Object valueElement: valueElements) { RawType rawType = getRawType(valueElement, contextDescription); Item<IV,ID> elementItem = rawType.getParsedItem(outputDefinition); if (output == null) { output = elementItem; } else { output.addAll(elementItem.getClonedValues()); } } return output; }
@SuppressWarnings("unchecked") private <V extends PrismValue, D extends ItemDefinition> SceneDeltaItemImpl createSceneDeltaItemCommon(ItemDelta<V, D> itemDelta, SceneImpl owningScene) throws SchemaException { String simpleName = itemDelta.getElementName() != null ? itemDelta.getElementName().getLocalPart() : ""; NameImpl name = new NameImpl(simpleName); if (itemDelta.getDefinition() != null) { name.setDisplayName(itemDelta.getDefinition().getDisplayName()); } name.setId(simpleName); name.setNamesAreResourceKeys(true); SceneDeltaItemImpl si = new SceneDeltaItemImpl(name); si.setSourceDelta(itemDelta); D def = itemDelta.getDefinition(); if (def != null) { Item<V,D> item = def.instantiate(); if (itemDelta.getEstimatedOldValues() != null) { item.addAll(CloneUtil.cloneCollectionMembers(itemDelta.getEstimatedOldValues())); } si.setSourceItem(item); si.setOperational(def.isOperational()); } ItemPath remainder = itemDelta.getPath().remainder(owningScene.getSourceRelPath()); if (remainder.startsWithNullId()) { remainder = remainder.rest(); } si.setSourceRelPath(remainder); return si; }