Package com.evolveum.midpoint.prism
Interface PrismPropertyDefinition<T>
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,Freezable
,ItemDefinition<PrismProperty<T>>
,LivePrismItemDefinition
,PrismItemAccessDefinition
,PrismItemBasicDefinition
,PrismItemInstantiableDefinition<T,
,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> PrismItemMatchingDefinition<T>
,PrismItemStorageDefinition
,PrismItemValuesDefinition<T>
,PrismLifecycleDefinition
,PrismPresentationDefinition
,Revivable
,SchemaLookup.Aware
,Serializable
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Subinterfaces:
PrismPropertyWrapper<T>
,PropertyDefinitionDelegator<T>
,ResourceAttributeDefinitionDelegator<T>
,ResourceAttributeWrapper<T>
,ShadowSimpleAttributeDefinition<T>
- All Known Implementing Classes:
AuthenticationAttemptWrapper
,ExpressionWrapper
,NormalizationAwareResourceAttributeDefinition
,PrismPropertyDefinitionImpl
,PrismPropertyWrapperImpl
,ProtectedStringTypeWrapperImpl
,ResourceAttributeWrapperImpl
,ShadowSimpleAttributeDefinitionImpl
,TransformablePropertyDefinition
,TransformablePropertyDefinition.RefinedAttribute
,TransformablePropertyDefinition.ResourceAttribute
public interface PrismPropertyDefinition<T>
extends ItemDefinition<PrismProperty<T>>, PrismItemMatchingDefinition<T>, PrismItemValuesDefinition<T>, PrismItemInstantiableDefinition<T,PrismPropertyValue<T>,PrismProperty<T>,PrismPropertyDefinition<T>,PropertyDelta<T>>
Definition of a prism property.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
static interface
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
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescription@NotNull PrismPropertyDefinition<T>
clone()
default T
convertStringValueToPolyString
(@NotNull String stringValue) ConvertsString
value toPolyString
.Returns a compile-time class that is used to represent items.This is the original implementation.default boolean
mutator()
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
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
cloneWithNewName, createEmptyDelta, debugDumpShortToString, deepClone, getProcessing, getSubstitutionHead, getValueEnumerationRef, instantiate, instantiate, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperational, structuredType
Methods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
findItemDefinition, isValidFor
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfo
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemInstantiableDefinition
createEmptyDelta, instantiate, instantiate
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemMatchingDefinition
getMatchingRule, getMatchingRuleQName, getNormalizer, getStringNormalizerForPolyStringProperty, getStringNormalizerIfApplicable, getTypeName, isCustomPolyString
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchable
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition
defaultValue, getAllowedValues, getSuggestedValues, getValueEnumerationRef
Methods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemoved
Methods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasized
Methods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookup
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Method Details
-
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 interfacePrismItemMatchingDefinition<T>
-
isAnyType
default boolean isAnyType() -
clone
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<T>
-
getTypeClassLegacy
This is the original implementation. Moving to more comprehensive one (as part of MID-2119 implementation) broke some things especially in the prism query language parser, so we temporarily provide the legacy (partial) implementation here. The difference is that the partial implementation covers only basic types. The comprehensive one covers also complex types viaSchemaRegistry.determineJavaClassForType(QName)
. -
mutator
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
mutator
in interfaceDefinition
- Specified by:
mutator
in interfaceItemDefinition<T>
-
convertStringValueToPolyString
@NotNull default T convertStringValueToPolyString(@NotNull @NotNull String stringValue) throws SchemaException ConvertsString
value toPolyString
. Regular properties use simplePolyString.fromOrig(String)
, but custom normalization-aware properties (midPoint shadow attributes) can use custom strategies here.- Throws:
SchemaException
-