Class PrismPropertyDefinitionImpl<T>
- All Implemented Interfaces:
Definition,Definition.DefinitionBuilder,Definition.DefinitionMutator,DefinitionFragmentBuilder,Freezable,ItemDefinition<PrismProperty<T>>,ItemDefinition.ItemDefinitionLikeBuilder,ItemDefinition.ItemDefinitionMutator,LivePrismItemDefinition,PrismItemAccessDefinition,PrismItemAccessDefinition.Mutable,PrismItemBasicDefinition,PrismItemBasicDefinition.Mutable,PrismItemInstantiableDefinition<T,,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> PrismItemMatchingDefinition<T>,PrismItemMatchingDefinition.Delegable<T>,PrismItemMatchingDefinition.Mutator,PrismItemMatchingDefinition.Mutator.Delegable,PrismItemStorageDefinition,PrismItemStorageDefinition.Mutable,PrismItemValuesDefinition<T>,PrismItemValuesDefinition.Delegable<T>,PrismItemValuesDefinition.Mutator<T>,PrismItemValuesDefinition.Mutator.Delegable<T>,PrismLifecycleDefinition,PrismLifecycleDefinition.Mutable,PrismPresentationDefinition,PrismPresentationDefinition.Mutable,PrismPropertyDefinition<T>,PrismPropertyDefinition.PrismPropertyDefinitionMutator<T>,PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T>,Revivable,SchemaLookup.Aware,SerializableDefinition,SerializableItemDefinition,SerializablePropertyDefinition,SmartVisitable<Definition>,Visitable<Definition>,DebugDumpable,Serializable,Cloneable
Property is a basic unit of information in midPoint. This class provides definition of property type, multiplicity and so on.
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.
This class represents schema definition for property. See Definition
for more details.
- Author:
- Radovan Semancik
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.ItemDefinition
ItemDefinition.ItemDefinitionLikeBuilder, ItemDefinition.ItemDefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
PrismItemAccessDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
PrismItemBasicDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition
PrismItemMatchingDefinition.Data<T>, PrismItemMatchingDefinition.Delegable<T>, PrismItemMatchingDefinition.MutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition.Mutator
PrismItemMatchingDefinition.Mutator.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition
PrismItemValuesDefinition.Data<T>, PrismItemValuesDefinition.Delegable<T>, PrismItemValuesDefinition.Mutator<T>Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition.Mutator
PrismItemValuesDefinition.Mutator.Delegable<T>Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
PrismLifecycleDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
PrismPresentationDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
PrismPropertyDefinition.PrismPropertyDefinitionMutator<T>, PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T> -
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
heterogeneousListItem, itemName, processing, substitutionHeadFields inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
deprecated, deprecatedSince, displayHint, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, isAbstract, isRuntimeSchema, plannedRemoval, removed, removedSince, typeNameFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
ConstructorsConstructorDescriptionPrismPropertyDefinitionImpl(QName elementName, QName typeName) PrismPropertyDefinitionImpl(QName elementName, QName typeName, QName definedInType) PrismPropertyDefinitionImpl(QName elementName, QName typeName, T defaultValue) PrismPropertyDefinitionImpl(QName elementName, QName typeName, T defaultValue, QName definedInType) -
Method Summary
Modifier and TypeMethodDescription@NotNull PrismPropertyDefinitionImpl<T>clone()@NotNull PrismPropertyDefinitionImpl<T>cloneWithNewName(@NotNull ItemName itemName) Returns a clone of this definition, but with name changed to the provided one.protected void@NotNull PropertyDelta<T>createEmptyDelta(ItemPath path) Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.booleanprotected voidprotected StringReturn a human readable name of this class suitable for logs.Returns human-readable name of this class suitable for documentation.Returns matching rule name.inthashCode()@NotNull PrismProperty<T>Create an item instance.@NotNull PrismProperty<T>instantiate(QName name) Create an item instance.mutator()Returns an interface to mutate this definition.voidsetAllowedValues(Collection<? extends DisplayableValue<T>> displayableValues) Not sure why the default method is not inherited here - fromPrismItemValuesDefinition.Mutator.Delegable.setAllowedValues(Collection).Returns complex type definition of item, if underlying value is possible structured.Methods inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
canAdd, canModify, canRead, copyDefinitionDataFrom, debugDisplayOrder, debugDumpShortToString, debugFlags, debugMultiplicity, deepClone, findItemDefinition, getItemName, getMaxOccurs, getMergerInstance, getMinOccurs, getObjectBuilt, getProcessing, getSubstitutionHead, getValueEnumerationRef, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIndexed, isIndexOnly, isInherited, isOperational, isSearchable, isValidFor, revive, setAlwaysUseForEquals, setCanAdd, setCanModify, setCanRead, setDynamic, setHeterogeneousListItem, setIndexed, setIndexOnly, setInherited, setMaxOccurs, setMinOccurs, setOperational, setProcessing, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRef, toString, useSerializationProxy, writeReplaceMethods inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
accept, accept, addSchemaMigration, copyDefinitionDataFrom, debugDump, extendDumpHeader, getAnnotation, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMergerIdentifier, getNaturalKeyConstituents, getNaturalKeyInstance, getPlannedRemoval, getRemovedSince, getSchemaContextDefinition, getSchemaMigrations, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchema, setAbstract, setAnnotation, setDeprecated, setDeprecatedSince, setDiagrams, setDisplayHint, setDisplayName, setDisplayOrder, setDocumentation, setElaborate, setEmphasized, setExperimental, setHelp, setMergerIdentifier, setNaturalKeyConstituents, setOptionalCleanup, setPlannedRemoval, setRemoved, setRemovedSince, setRuntimeSchema, setSchemaContextDefinition, setSchemaMigrationsMethods inherited from class com.evolveum.midpoint.prism.impl.schema.SchemaRegistryStateAware
performFreeze, schemaLookup, setSchemaLookupMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchemaMethods inherited from interface com.evolveum.midpoint.prism.Definition.DefinitionMutator
setAnnotation, setMergerIdentifier, setNaturalKeyConstituents, setOptionalCleanup, setRuntimeSchema, setSchemaContextDefinitionMethods inherited from interface com.evolveum.midpoint.prism.DefinitionFragmentBuilder
getObjectBuiltMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
debugDumpShortToString, deepClone, getProcessing, getSubstitutionHead, getValueEnumerationRef, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperationalMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionLikeBuilder
getExtraFeaturesToParseMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionMutator
setAlwaysUseForEquals, setDeprecatedSince, setDynamic, setElaborate, setHeterogeneousListItem, setIgnored, setIndexOnly, setInherited, setOperational, setPlannedRemoval, setProcessing, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
findItemDefinition, isValidForMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
setCanAdd, setCanModify, setCanRead, setInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
setMaxOccurs, setMinOccursMethods inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition
getMatchingRule, getNormalizer, getStringNormalizerForPolyStringProperty, getStringNormalizerIfApplicable, getTypeClass, getTypeName, isCustomPolyStringMethods inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition.Mutator.Delegable
setMatchingRuleQNameMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchableMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition.Mutable
setIndexedMethods inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition.Delegable
defaultValue, getAllowedValues, getSuggestedValues, getValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition.Mutator.Delegable
setDefaultValue, setSuggestedValues, setValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemovedMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
addSchemaMigration, setDeprecated, setExperimental, setRemoved, setRemovedSince, setSchemaMigrationsMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
setDiagrams, setDisplayHint, setDisplayName, setDisplayOrder, setDocumentation, setEmphasized, setHelpMethods inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
convertStringValueToPolyString, getTypeClass, getTypeClassLegacy, isAnyTypeMethods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookupMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableDefinition
getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getExtraFeaturesToSerialize, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableItemDefinition
getItemName, getMaxOccurs, getMinOccurs, getProcessing, getTypeName, isIndexed, isOperationalMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializablePropertyDefinition
getValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Constructor Details
-
PrismPropertyDefinitionImpl
-
PrismPropertyDefinitionImpl
-
PrismPropertyDefinitionImpl
-
PrismPropertyDefinitionImpl
-
-
Method Details
-
prismItemValuesDefinition
- Specified by:
prismItemValuesDefinitionin interfacePrismItemValuesDefinition.Delegable<T>- Specified by:
prismItemValuesDefinitionin interfacePrismItemValuesDefinition.Mutator.Delegable<T>
-
prismItemMatchingDefinition
- Specified by:
prismItemMatchingDefinitionin interfacePrismItemMatchingDefinition.Delegable<T>- Specified by:
prismItemMatchingDefinitionin interfacePrismItemMatchingDefinition.Mutator.Delegable
-
getMatchingRuleQName
Description copied from interface:PrismItemMatchingDefinitionReturns matching rule name. Matching rules are algorithms that specify how to compare, normalize and/or order the values. E.g. there are matching rules for case insensitive string comparison, for LDAP DNs, etc. TODO describe the semantics where special normalizations are to be used Use with care until this description is complete.- Specified by:
getMatchingRuleQNamein interfacePrismItemMatchingDefinition<T>- Specified by:
getMatchingRuleQNamein interfacePrismItemMatchingDefinition.Delegable<T>- Specified by:
getMatchingRuleQNamein interfaceSerializablePropertyDefinition- Returns:
- matching rule name
-
instantiate
Description copied from interface:ItemDefinitionCreate an item instance. Definition name or default name will be used as an element name for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<T>- Specified by:
instantiatein interfacePrismItemInstantiableDefinition<T,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>>
-
instantiate
Description copied from interface:ItemDefinitionCreate an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<T>- Specified by:
instantiatein interfacePrismItemInstantiableDefinition<T,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>>
-
createEmptyDelta
Description copied from interface:ItemDefinitionCreates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.- Specified by:
createEmptyDeltain interfaceItemDefinition<T>- Specified by:
createEmptyDeltain interfacePrismItemInstantiableDefinition<T,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>>
-
clone
- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceItemDefinition<T>- Specified by:
clonein interfacePrismPropertyDefinition<T>- Specified by:
clonein interfacePrismPropertyDefinition.PrismPropertyDefinitionMutator<T>- Specified by:
clonein classItemDefinitionImpl<PrismProperty<T>>
-
cloneWithNewName
@NotNull public @NotNull PrismPropertyDefinitionImpl<T> cloneWithNewName(@NotNull @NotNull ItemName itemName) Description copied from interface:ItemDefinitionReturns a clone of this definition, but with name changed to the provided one.- Specified by:
cloneWithNewNamein interfaceItemDefinition<T>- See Also:
-
copyDefinitionDataFrom
-
extendToString
- Overrides:
extendToStringin classItemDefinitionImpl<PrismProperty<T>>
-
equals
- Overrides:
equalsin classItemDefinitionImpl<PrismProperty<T>>
-
hashCode
public int hashCode()- Overrides:
hashCodein classItemDefinitionImpl<PrismProperty<T>>
-
getDebugDumpClassName
Return a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassNamein classDefinitionImpl
-
getDocClassName
Description copied from class:DefinitionImplReturns human-readable name of this class suitable for documentation. (e.g. "property")- Specified by:
getDocClassNamein classDefinitionImpl
-
mutator
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
mutatorin interfaceDefinition- Specified by:
mutatorin interfaceItemDefinition<T>- Specified by:
mutatorin interfacePrismPropertyDefinition<T>
-
structuredType
Description copied from interface:ItemDefinitionReturns complex type definition of item, if underlying value is possible structured. NOTE: This seems weird, since properties and references are simple values, but actually object reference is serialized as structured value and some of properties are also.- Specified by:
structuredTypein interfaceItemDefinition<T>
-
setAllowedValues
Not sure why the default method is not inherited here - fromPrismItemValuesDefinition.Mutator.Delegable.setAllowedValues(Collection).- Specified by:
setAllowedValuesin interfacePrismItemValuesDefinition.Mutator<T>- Specified by:
setAllowedValuesin interfacePrismItemValuesDefinition.Mutator.Delegable<T>- Specified by:
setAllowedValuesin interfacePrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T>
-