Package com.evolveum.midpoint.prism
Interface PrismProperty<T>
- All Superinterfaces:
DebugDumpable
,Freezable
,Item<PrismPropertyValue<T>,
,PrismPropertyDefinition<T>> Itemable
,ParentVisitable
,PathVisitable
,Revivable
,Serializable
,Visitable
- All Known Subinterfaces:
ShadowSimpleAttribute<T>
- All Known Implementing Classes:
DummyPropertyImpl
,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 Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
Fields inherited from interface com.evolveum.midpoint.prism.Item
KEY_NAMESPACE_CONTEXT
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addRealValue
(T valueToAdd) default void
addRealValues
(T... valuesToAdd) void
addRealValueSkipUniquenessCheck
(T valueToAdd) void
addValue
(PrismPropertyValue<T> pValueToAdd) void
addValues
(Collection<PrismPropertyValue<T>> pValuesToAdd) clone()
Literal clone.cloneComplex
(CloneStrategy strategy) Complex clone with different cloning strategies.Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g.createDelta
(ItemPath path) boolean
deleteValue
(PrismPropertyValue<T> pValueToDelete) boolean
deleteValues
(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> T
getRealValue
(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.boolean
hasRealValue
(PrismPropertyValue<T> value) void
replaceValues
(Collection<PrismPropertyValue<T>> valuesToReplace) void
setRealValue
(T realValue) void
setRealValues
(T... realValues) void
setValue
(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.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.prism.Item
acceptParentVisitor, add, add, addAll, addAll, addIgnoringEquivalents, addRespectingMetadataAndCloning, applyDefinition, applyDefinition, applyDefinitionIfMissing, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, copy, 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, valuesStream
Methods inherited from interface com.evolveum.midpoint.prism.PathVisitable
accept
-
Method Details
-
getValues
Type override, also for compatibility. -
getRealValues
Description copied from interface:Item
Returns (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:
getRealValues
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>> - See Also:
-
getRealValues
Type override, also for compatibility.- Specified by:
getRealValues
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
getAnyRealValue
T getAnyRealValue() -
getRealValue
T getRealValue()Description copied from interface:Item
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. 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:
getRealValue
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
getValue
Type override, also for compatibility. -
setValue
Means 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
-
createDelta
PropertyDelta<T> createDelta()Description copied from interface:Item
Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g. PropertyDelta, ContainerDelta, ...)- Specified by:
createDelta
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
createDelta
- Specified by:
createDelta
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
findPartial
<IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
findPartial
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
diff
-
diff
-
clone
PrismProperty<T> clone()Description copied from interface:Item
Literal clone.- Specified by:
clone
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
createImmutableClone
PrismProperty<T> createImmutableClone()- Specified by:
createImmutableClone
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>>
-
cloneComplex
Description copied from interface:Item
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfaceItem<PrismPropertyValue<T>,
PrismPropertyDefinition<T>> - See Also:
-
toHumanReadableString
String toHumanReadableString() -
getRealValue
-