public interface PrismProperty<T> extends Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
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.
INDENT_STRING
Modifier and Type | Method and Description |
---|---|
void |
addRealValue(T valueToAdd) |
void |
addRealValues(T... valuesToAdd) |
void |
addRealValueSkipUniquenessCheck(T valueToAdd) |
void |
addValue(PrismPropertyValue<T> pValueToAdd) |
void |
addValues(Collection<PrismPropertyValue<T>> pValuesToAdd) |
PrismProperty<T> |
clone()
Literal clone.
|
PrismProperty<T> |
cloneComplex(CloneStrategy strategy)
Complex clone with different cloning strategies.
|
PropertyDelta<T> |
createDelta()
Creates specific subclass of ItemDelta appropriate for type of item that this definition
represents (e.g.
|
PropertyDelta<T> |
createDelta(ItemPath path) |
String |
debugDump(int indent) |
boolean |
deleteValue(PrismPropertyValue<T> pValueToDelete) |
boolean |
deleteValues(Collection<PrismPropertyValue<T>> pValuesToDelete) |
PropertyDelta<T> |
diff(PrismProperty<T> other) |
PropertyDelta<T> |
diff(PrismProperty<T> other,
ParameterizedEquivalenceStrategy strategy) |
Object |
find(ItemPath path)
Returns object (Item or PrismValue) pointed to by the given path.
|
<IV extends PrismValue,ID extends ItemDefinition> |
findPartial(ItemPath path) |
T |
getAnyRealValue() |
PrismPropertyDefinition<T> |
getDefinition()
Returns applicable property definition.
|
T |
getRealValue()
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.
|
<X> X |
getRealValue(Class<X> type)
Type override, also for compatibility.
|
static <T> T |
getRealValue(PrismProperty<T> property) |
Collection<T> |
getRealValues()
Returns (potentially empty) collection of "real values".
|
<X> Collection<X> |
getRealValues(Class<X> type)
Type override, also for compatibility.
|
<X> X[] |
getRealValuesArray(Class<X> type)
Type override, also for compatibility.
|
PrismPropertyValue<T> |
getValue()
Returns the value, if there is only one.
|
<X> PrismPropertyValue<X> |
getValue(Class<X> type)
Type override, also for compatibility.
|
Class<T> |
getValueClass() |
<X> List<PrismPropertyValue<X>> |
getValues(Class<X> type)
Type override, also for compatibility.
|
boolean |
hasRealValue(PrismPropertyValue<T> value) |
void |
replaceValues(Collection<PrismPropertyValue<T>> valuesToReplace) |
void |
setDefinition(PrismPropertyDefinition<T> definition)
Sets applicable property definition.
|
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.
|
String |
toHumanReadableString() |
String |
toString() |
acceptParentVisitor, add, add, add, addAll, addAll, applyDefinition, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, checkImmutability, clear, cloneCollection, contains, contains, contains, containsEquivalentValue, containsEquivalentValue, diff, diff, equals, equals, equals, filterValues, findValue, getAllValues, getAllValues, getAnyValue, getClonedValues, getDisplayName, getElementName, getHelp, getHighestId, getParent, getPath, getPrismContext, getPrismContextLocal, getUserData, getUserData, getValues, getValues, hasCompleteDefinition, hashCode, hashCode, hashCode, hasNoValues, hasNoValues, hasRaw, isEmpty, isImmutable, isIncomplete, isOperational, isRaw, isSingleValue, merge, modifyUnfrozen, modifyUnfrozen, normalize, recomputeAllValues, remove, remove, removeAll, replace, replaceAll, resetParentCollection, revive, setElementName, setImmutable, setIncomplete, setParent, setPrismContext, setUserData, size, valuesEqual
debugDump, debugDumpLazily, debugDumpLazily
accept
PrismPropertyDefinition<T> getDefinition()
May return null if no definition is applicable or the definition is not know.
getDefinition
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
getDefinition
in interface Itemable
void setDefinition(PrismPropertyDefinition<T> definition)
setDefinition
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
definition
- the definition to set<X> List<PrismPropertyValue<X>> getValues(Class<X> type)
PrismPropertyValue<T> getValue()
Item
getValue
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
@NotNull Collection<T> getRealValues()
Item
getRealValues
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
Item.getRealValue().
<X> Collection<X> getRealValues(Class<X> type)
T getAnyRealValue()
T getRealValue()
Item
getRealValue
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
<X> X getRealValue(Class<X> type)
<X> X[] getRealValuesArray(Class<X> type)
<X> PrismPropertyValue<X> getValue(Class<X> type)
void setValue(PrismPropertyValue<T> value)
void setRealValue(T realValue)
void setRealValues(T... realValues)
void addValues(Collection<PrismPropertyValue<T>> pValuesToAdd)
void addValue(PrismPropertyValue<T> pValueToAdd)
void addRealValue(T valueToAdd)
void addRealValueSkipUniquenessCheck(T valueToAdd)
void addRealValues(T... valuesToAdd)
boolean deleteValues(Collection<PrismPropertyValue<T>> pValuesToDelete)
boolean deleteValue(PrismPropertyValue<T> pValueToDelete)
void replaceValues(Collection<PrismPropertyValue<T>> valuesToReplace)
boolean hasRealValue(PrismPropertyValue<T> value)
PropertyDelta<T> createDelta()
Item
createDelta
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
PropertyDelta<T> createDelta(ItemPath path)
createDelta
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
Object find(ItemPath path)
Item
find
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
<IV extends PrismValue,ID extends ItemDefinition> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path)
findPartial
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
PropertyDelta<T> diff(PrismProperty<T> other)
PropertyDelta<T> diff(PrismProperty<T> other, ParameterizedEquivalenceStrategy strategy)
PrismProperty<T> clone()
Item
clone
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
PrismProperty<T> cloneComplex(CloneStrategy strategy)
Item
cloneComplex
in interface Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
CloneStrategy
String debugDump(int indent)
debugDump
in interface DebugDumpable
String toHumanReadableString()
static <T> T getRealValue(PrismProperty<T> property)
Copyright © 2020 Evolveum. All rights reserved.