Package com.evolveum.midpoint.prism
Interface PrismProperty<T>
- All Superinterfaces:
- Cloneable,- ComplexCopyable<Item<PrismPropertyValue<T>,,- PrismPropertyDefinition<T>>> - DebugDumpable,- Freezable,- Item<PrismPropertyValue<T>,,- PrismPropertyDefinition<T>> - Itemable,- ParentVisitable,- PathVisitable,- PrismVisitable,- Revivable,- Serializable,- Visitable
- All Known Subinterfaces:
- PrismPropertyDelegator<T>,- ShadowSimpleAttribute<T>
- All Known Implementing Classes:
- com.evolveum.midpoint.prism.impl.PrismPropertyImpl,- ShadowSimpleAttributeImpl
Property is a specific characteristic of an object. It may be considered
 object "attribute" or "field". For example User has fullName property that
 contains string value of user's full name.
 
Properties may be single-valued or multi-valued
Properties may contain primitive types or complex types (defined by XSD schema)
Property values are unordered, implementation may change the order of values
Duplicate values of properties should be silently removed by implementations, but clients must be able tolerate presence of duplicate values.
Operations that modify the objects work with the granularity of properties. They add/remove/replace the values of properties, but do not "see" inside the property.
Property is mutable.
- Author:
- Radovan Semancik
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRINGFields inherited from interface com.evolveum.midpoint.prism.ItemKEY_NAMESPACE_CONTEXT
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddRealValue(T valueToAdd) default voidaddRealValues(T... valuesToAdd) voidaddRealValueSkipUniquenessCheck(T valueToAdd) voidaddValue(PrismPropertyValue<T> pValueToAdd) voidaddValues(Collection<PrismPropertyValue<T>> pValuesToAdd) clone()Deprecated.@NotNull PrismProperty<T>cloneComplex(@NotNull CloneStrategy strategy) Complex clone with different cloning strategies.default @NotNull PrismProperty<T>copy()A copy with no guarantees about mutability.Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g.createDelta(ItemPath path) Deprecated.booleandeleteValue(PrismPropertyValue<T> pValueToDelete) booleandeleteValues(Collection<PrismPropertyValue<T>> pValuesToDelete) diff(PrismProperty<T> other) diff(PrismProperty<T> other, ParameterizedEquivalenceStrategy strategy) <IV extends PrismValue,ID extends ItemDefinition<?>> 
 PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) Returns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items.static <T> TgetRealValue(PrismProperty<T> property) @NotNull Collection<T>Returns (potentially empty) collection of "real values".<X> @NotNull Collection<X>getRealValues(Class<X> type) Type override, also for compatibility.<X> PrismPropertyValue<X>Type override, also for compatibility.<X> List<PrismPropertyValue<X>>Type override, also for compatibility.booleanhasRealValue(PrismPropertyValue<T> value) default @NotNull PrismProperty<T>TODO define exact semantics of this regarding the parent - so, today it's safe to call this only on objects.default @NotNull PrismProperty<T>A literal copy that is guaranteed to be mutable.voidreplaceValues(Collection<PrismPropertyValue<T>> valuesToReplace) voidsetRealValue(T realValue) voidsetRealValues(T... realValues) voidsetValue(PrismPropertyValue<T> value) Means as a short-hand for setting just a value for single-valued attributes.Methods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.ItemacceptParentVisitor, acceptVisitor, add, add, addAll, addAll, addIgnoringEquivalents, addRespectingMetadataAndCloning, applyDefinition, applyDefinition, applyDefinitionIfMissing, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, diff, diff, equals, equals, equals, filterValues, filterYields, find, findValue, findValue, getAllItems, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDefinition, getDisplayName, getElementName, getHelp, getHighestId, getNamespaceContext, getParent, getPath, getRealValue, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, getValue, getValues, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hashCode, hasNoValues, hasRaw, isEmpty, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setDefinition, setElementName, setIncomplete, setParent, setUserData, size, valuesStreamMethods inherited from interface com.evolveum.midpoint.prism.PathVisitableaccept
- 
Method Details- 
getValuesType override, also for compatibility.
- 
getRealValuesDescription copied from interface:ItemReturns (potentially empty) collection of "real values". The list itself is detached, freely modifiable. (Note that the values can still embed a parent, e.g., for containers and references.)- Specified by:
- getRealValuesin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
- See Also:
 
- 
getRealValuesType override, also for compatibility.- Specified by:
- getRealValuesin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
getAnyRealValueT getAnyRealValue()
- 
getRealValueT getRealValue()Description copied from interface:ItemReturns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items. It can also contain container IDs (although they are not considered to be part of the real value). It does not contain information about item element name nor other metadata like origin, definition, etc. (Although e.g. Containerable can be converted back into PrismContainerValue that can be used to retrieve this information.)- Specified by:
- getRealValuein interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
getValueType override, also for compatibility.
- 
setValueMeans as a short-hand for setting just a value for single-valued attributes. Will remove all existing values.
- 
setRealValue
- 
setRealValues
- 
addValues
- 
addValue
- 
addRealValue
- 
addRealValueSkipUniquenessCheck
- 
addRealValues
- 
deleteValues
- 
deleteValue
- 
replaceValues
- 
hasRealValue
- 
getValueClass
- 
createDeltaPropertyDelta<T> createDelta()Description copied from interface:ItemCreates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g. PropertyDelta, ContainerDelta, ...)- Specified by:
- createDeltain interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
createDelta- Specified by:
- createDeltain interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
findPartial<IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
- findPartialin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
diff
- 
diff
- 
cloneDeprecated.Description copied from interface:ItemLiteral clone.- Specified by:
- clonein interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
createImmutableCloneDeprecated.- Specified by:
- createImmutableClonein interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
cloneComplexDescription copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
- cloneComplexin interface- ComplexCopyable<T>
- Specified by:
- cloneComplexin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
- See Also:
 
- 
copyDescription copied from interface:ItemA copy with no guarantees about mutability.- Specified by:
- copyin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
mutableCopyDescription copied from interface:ItemA literal copy that is guaranteed to be mutable.- Specified by:
- mutableCopyin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
immutableCopyDescription copied from interface:ItemTODO define exact semantics of this regarding the parent - so, today it's safe to call this only on objects.- Specified by:
- immutableCopyin interface- Item<PrismPropertyValue<T>,- PrismPropertyDefinition<T>> 
 
- 
toHumanReadableStringString toHumanReadableString()
- 
getRealValue
 
-