Package com.evolveum.midpoint.prism
Interface PrismPropertyDefinition<T>
-
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,Freezable
,ItemDefinition<PrismProperty<T>>
,PrismContextSensitive
,PrismItemAccessDefinition
,Revivable
,Serializable
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Subinterfaces:
AttributeDefinitionDelegator<T>
,MutablePrismPropertyDefinition<T>
,MutableRawResourceAttributeDefinition<T>
,PartiallyMutableItemDefinition.Attribute<T>
,PartiallyMutableItemDefinition.Property<T>
,PropertyDefinitionDelegator<T>
,RawResourceAttributeDefinition<T>
,RefinedAttributeDefinitionDelegator<T>
,ResourceAttributeDefinition<T>
- All Known Implementing Classes:
PrismPropertyDefinitionImpl
,RawResourceAttributeDefinitionImpl
,ResourceAttributeDefinitionImpl
,TransformablePropertyDefinition
,TransformablePropertyDefinition.RefinedAttribute
,TransformablePropertyDefinition.ResourceAttribute
public interface PrismPropertyDefinition<T> extends ItemDefinition<PrismProperty<T>>
Definition of a prism property.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Mutable
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description @NotNull PrismPropertyDefinition<T>
clone()
@NotNull PropertyDelta<T>
createEmptyDelta(ItemPath path)
Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.T
defaultValue()
TODO is this ever used?@Nullable Collection<? extends DisplayableValue<T>>
getAllowedValues()
Returns allowed values for this property.QName
getMatchingRuleQName()
Returns matching rule name.Class<T>
getTypeClass()
Returns a compile-time class that is used to represent items.@NotNull PrismProperty<T>
instantiate()
Create an item instance.@NotNull PrismProperty<T>
instantiate(QName name)
Create an item instance.default boolean
isAnyType()
Boolean
isIndexed()
This is XSD annotation that specifies whether a property should be indexed in the storage.MutablePrismPropertyDefinition<T>
toMutable()
Returns an interface to mutate this definition.-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Definition
debugDump, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getProcessing, getSchemaMigrations, getSchemaRegistry, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
adoptElementDefinitionFrom, canBeDefinitionOf, canBeDefinitionOf, debugDumpShortToString, deepClone, findItemDefinition, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, getValueEnumerationRef, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isMandatory, isMultiValue, isOperational, isOptional, isSingleValue, isValidFor, structuredType
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead
-
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
-
-
-
Method Detail
-
getAllowedValues
@Nullable @Nullable Collection<? extends DisplayableValue<T>> getAllowedValues()
Returns allowed values for this property.
-
defaultValue
@Nullable T defaultValue()
TODO is this ever used?
-
isIndexed
Boolean isIndexed()
This is XSD annotation that specifies whether a property should be indexed in the storage. It can only apply to properties. It has following meaning: true: the property must be indexed. If the storage is not able to index the value, it should indicate an error. false: the property should not be indexed. null: data store decides whether to index the property or not.
-
isAnyType
default boolean isAnyType()
-
getMatchingRuleQName
QName getMatchingRuleQName()
Returns 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.- Returns:
- matching rule name
-
createEmptyDelta
@NotNull @NotNull PropertyDelta<T> createEmptyDelta(ItemPath path)
Description copied from interface:ItemDefinition
Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.- Specified by:
createEmptyDelta
in interfaceItemDefinition<T>
-
instantiate
@NotNull @NotNull PrismProperty<T> instantiate()
Description copied from interface:ItemDefinition
Create 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:
instantiate
in interfaceItemDefinition<T>
-
instantiate
@NotNull @NotNull PrismProperty<T> instantiate(QName name)
Description copied from interface:ItemDefinition
Create an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiate
in interfaceItemDefinition<T>
-
clone
@NotNull @NotNull PrismPropertyDefinition<T> clone()
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<T>
-
getTypeClass
Class<T> getTypeClass()
Description copied from interface:Definition
Returns a compile-time class that is used to represent items. E.g. returns String, Integer, subclasses of Objectable and Containerable and so on.- Specified by:
getTypeClass
in interfaceDefinition
-
toMutable
MutablePrismPropertyDefinition<T> toMutable()
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
toMutable
in interfaceDefinition
- Specified by:
toMutable
in interfaceItemDefinition<T>
-
-