Interface PropertyDefinitionDelegator<T>
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,DefinitionDelegator
,Freezable
,ItemDefinition<PrismProperty<T>>
,ItemDefinitionDelegator<PrismProperty<T>>
,LivePrismItemDefinition
,PrismItemAccessDefinition
,PrismItemBasicDefinition
,PrismItemInstantiableDefinition<T,
,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> PrismItemMatchingDefinition<T>
,PrismItemStorageDefinition
,PrismItemValuesDefinition<T>
,PrismLifecycleDefinition
,PrismPresentationDefinition
,PrismPropertyDefinition<T>
,Revivable
,SchemaLookup.Aware
,Serializable
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Subinterfaces:
ResourceAttributeDefinitionDelegator<T>
- All Known Implementing Classes:
TransformablePropertyDefinition
,TransformablePropertyDefinition.RefinedAttribute
,TransformablePropertyDefinition.ResourceAttribute
public interface PropertyDefinitionDelegator<T>
extends ItemDefinitionDelegator<PrismProperty<T>>, PrismPropertyDefinition<T>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.ItemDefinition
ItemDefinition.ItemDefinitionLikeBuilder, ItemDefinition.ItemDefinitionMutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition
PrismItemMatchingDefinition.Data<T>, PrismItemMatchingDefinition.Delegable<T>, PrismItemMatchingDefinition.Mutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.Mutable
Nested 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.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
PrismPropertyDefinition.PrismPropertyDefinitionMutator<T>, PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T>
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptiondefault @NotNull PropertyDelta<T>
createEmptyDelta
(ItemPath path) Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.default T
delegate()
default @Nullable Collection<? extends DisplayableValue<T>>
Returns allowed values for this property.default @NotNull MatchingRule<T>
Returns the resolvedMatchingRule
for this property.default QName
Returns matching rule name.default @Nullable Collection<? extends DisplayableValue<T>>
Returns suggested values for this property.Returns a compile-time class that is used to represent items.default @NotNull QName
Returns a name of the type for this definition.default PrismReferenceValue
Reference to an object that directly or indirectly represents possible values for this item.default @NotNull PrismProperty<T>
Create an item instance.default @NotNull PrismProperty<T>
instantiate
(QName name) Create an item instance.Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing
Methods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getPlannedRemoval, getRemovedSince, getSchemaContextDefinition, getSchemaMigrations, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
cloneWithNewName, getProcessing, isAlwaysUseForEquals, isIgnored
Methods inherited from interface com.evolveum.midpoint.prism.deleg.ItemDefinitionDelegator
canAdd, canModify, canRead, debugDumpShortToString, deepClone, findItemDefinition, getDiagrams, getHelp, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, isDynamic, isHeterogeneousListItem, isIndexed, isIndexOnly, isInherited, isOperational, isSearchable, isValidFor, structuredType
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
getInfo
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition
getNormalizer, getStringNormalizerForPolyStringProperty, getStringNormalizerIfApplicable, isCustomPolyString
Methods inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
clone, convertStringValueToPolyString, getTypeClassLegacy, isAnyType, mutator
Methods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookup
-
Method Details
-
delegate
PrismPropertyDefinition<T> delegate()- Specified by:
delegate
in interfaceDefinitionDelegator
- Specified by:
delegate
in interfaceItemDefinitionDelegator<T>
-
getTypeName
Description copied from interface:Definition
Returns a name of the type for this definition. The type can be part of the compile-time schema or it can be defined at run time. Examples of the former case are types like c:UserType, xsd:string, or even flexible ones like c:ExtensionType or c:ShadowAttributesType. Examples of the latter case are types used in - custom extensions, like ext:LocationsType (where ext = e.g. http://example.com/extension), - resource schema, like ri:inetOrgPerson (ri = http://.../resource/instance-3), - connector schema, like TODO In XML representation that corresponds to the name of the XSD type. Although beware, the run-time types do not have statically defined structure. And the resource and connector-related types may even represent different kinds of objects within different contexts (e.g. two distinct resources both with ri:AccountObjectClass types). Also note that for complex type definitions, the type name serves as a unique identifier. On the other hand, for item definitions, it is just one of its attributes; primary key is item name in that case. The type name should be fully qualified. (TODO reconsider this)- Specified by:
getTypeName
in interfaceDefinition
- Specified by:
getTypeName
in interfaceDefinitionDelegator
- Specified by:
getTypeName
in interfaceItemDefinitionDelegator<T>
- Specified by:
getTypeName
in interfacePrismItemBasicDefinition
- Specified by:
getTypeName
in interfacePrismItemMatchingDefinition<T>
- Returns:
- the type name
-
getAllowedValues
Description copied from interface:PrismItemValuesDefinition
Returns allowed values for this property.- Specified by:
getAllowedValues
in interfacePrismItemValuesDefinition<T>
-
getSuggestedValues
Description copied from interface:PrismItemValuesDefinition
Returns suggested values for this property.- Specified by:
getSuggestedValues
in interfacePrismItemValuesDefinition<T>
-
defaultValue
- Specified by:
defaultValue
in interfacePrismItemValuesDefinition<T>
-
getMatchingRuleQName
Description copied from interface:PrismItemMatchingDefinition
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. TODO describe the semantics where special normalizations are to be used Use with care until this description is complete.- Specified by:
getMatchingRuleQName
in interfacePrismItemMatchingDefinition<T>
- Returns:
- matching rule name
-
getMatchingRule
Description copied from interface:PrismItemMatchingDefinition
Returns the resolvedMatchingRule
for this property.- Specified by:
getMatchingRule
in interfacePrismItemMatchingDefinition<T>
-
createEmptyDelta
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>
- Specified by:
createEmptyDelta
in interfaceItemDefinitionDelegator<T>
- Specified by:
createEmptyDelta
in interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<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>
- Specified by:
instantiate
in interfaceItemDefinitionDelegator<T>
- Specified by:
instantiate
in interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>>
-
instantiate
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>
- Specified by:
instantiate
in interfaceItemDefinitionDelegator<T>
- Specified by:
instantiate
in interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<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
- Specified by:
getTypeClass
in interfaceDefinitionDelegator
- Specified by:
getTypeClass
in interfacePrismItemMatchingDefinition<T>
- Specified by:
getTypeClass
in interfacePrismPropertyDefinition<T>
-
getValueEnumerationRef
Description copied from interface:ItemDefinition
Reference to an object that directly or indirectly represents possible values for this item. We do not define here what exactly the object has to be. It can be a lookup table, script that dynamically produces the values or anything similar. The object must produce the values of the correct type for this item otherwise an error occurs.- Specified by:
getValueEnumerationRef
in interfaceItemDefinition<T>
- Specified by:
getValueEnumerationRef
in interfaceItemDefinitionDelegator<T>
- Specified by:
getValueEnumerationRef
in interfacePrismItemValuesDefinition<T>
-