Interface ShadowAssociationDefinition
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,Freezable
,ItemDefinition<PrismContainer<ShadowAssociationValueType>>
,LivePrismItemDefinition
,LocalItemDefinitionStore
,PrismContainerDefinition<ShadowAssociationValueType>
,PrismItemAccessDefinition
,PrismItemBasicDefinition
,PrismItemStorageDefinition
,PrismLifecycleDefinition
,PrismPresentationDefinition
,Revivable
,SchemaLookup.Aware
,Serializable
,ShadowItemDefinition
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Implementing Classes:
ShadowAssociationDefinitionImpl
public interface ShadowAssociationDefinition
extends PrismContainerDefinition<ShadowAssociationValueType>, ShadowItemDefinition
Definition of a
ShadowAssociation
, e.g., `ri:group`.- See Also:
-
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.PrismContainerDefinition
PrismContainerDefinition.PrismContainerDefinitionMutator<C extends Containerable>
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.PrismItemStorageDefinition
PrismItemStorageDefinition.Mutable
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 ShadowAssociationDefinition
clone()
default ObjectFilter
createTargetObjectsFilter
(boolean resourceSafe) Creates a filter that provides all shadows eligible as the target value for this association.default ShadowAssociationValue
createValueFromDefaultObject
(@NotNull AbstractShadow object) Call only on simple associations!default ShadowAssociationValue
createValueFromDefaultObjectRef
(@NotNull ShadowReferenceAttributeValue refAttrValue) Call only on simple associations!default ShadowAssociationValue
createValueFromFullDefaultObject
(@NotNull AbstractShadow object) Call only on simple associations!default <T extends ItemDefinition<?>>
TfindItemDefinition
(@NotNull ItemPath path, @NotNull Class<T> clazz) Used to find a matching item definition _within_ this definition.@NotNull ResourceObjectDefinition
Returns the association object definition (for complex associations), or fails (for simple ones).@NotNull QName
@NotNull Collection<InboundMappingType>
To be used only for trivial associations; moreover, replaced by mark-based tolerance.@Nullable ShadowAssociationDefinitionType
Use with care.@Nullable ShadowAssociationTypeDefinitionType
Use with care.default @NotNull Collection<ShadowRelationParticipantType>
Provides information on acceptable types of shadows participating in this association as (the one) object.default @NotNull Collection<QName>
Returns the name(s) of participant(s) playing the role of association object: - Exactly one for simple associations@NotNull com.google.common.collect.Multimap<QName,
ShadowRelationParticipantType> Provides information on acceptable types of shadows participating in this association as objects.@NotNull Collection<MappingType>
@NotNull ShadowReferenceAttributeDefinition
default ResourceObjectDefinition
Deprecated.default @NotNull String
default @NotNull QName
Call only on simple associations!To be used only for trivial associations; moreover, replaced by mark-based tolerance.@NotNull ShadowAssociation
Create an item instance.boolean
True if this is a "complex" association (with association data object), false if it's a trivial one.boolean
boolean
boolean
isVisible
(ExecutionModeProvider modeProvider) default boolean
matches
(@NotNull ShadowType potentialTarget) 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, debugDumpShortToString, deepClone, getProcessing, getSubstitutionHead, getValueEnumerationRef, instantiate, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperational
Methods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
isValidFor
Methods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinition, findReferenceDefinition
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition
canRepresent, cloneWithNewDefinition, cloneWithNewType, createEmptyDelta, createValue, getAlwaysUseForEquals, getCompileTimeClass, getComplexTypeDefinition, getDefinitions, getItemNames, getPropertyDefinitions, getTypeClass, isAlwaysUseForEquals, isCompletelyDefined, isEmpty, mutator, replaceDefinition, schemaLookup, structuredType
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.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchable
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.SmartVisitable
accept
-
Method Details
-
isComplex
boolean isComplex()True if this is a "complex" association (with association data object), false if it's a trivial one. -
getAssociationDataObjectDefinition
Returns the association object definition (for complex associations), or fails (for simple ones). -
getObjectParticipants
@NotNull @NotNull com.google.common.collect.Multimap<QName,ShadowRelationParticipantType> getObjectParticipants()Provides information on acceptable types of shadows participating in this association as objects. These come from the underlying reference attribute definition, but can be further restricted by the association type definition. -
getObjectParticipant
Provides information on acceptable types of shadows participating in this association as (the one) object. Fails if there are no or multiple objects.- See Also:
-
getObjectParticipantNames
Returns the name(s) of participant(s) playing the role of association object: - Exactly one for simple associations. - Zero, one, or more for complex associations. -
getSingleObjectParticipantName
Call only on simple associations!- Throws:
SchemaException
-
matches
-
createTargetObjectsFilter
Creates a filter that provides all shadows eligible as the target value for this association. For complex associations, a filter for association data objects is returned. -
getRepresentativeTargetObjectDefinition
Deprecated.TODO reconsider this: which definition should we provide as the representative one? There can be many. -
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<PrismContainer<ShadowAssociationValueType>>
- Throws:
SchemaException
-
createValueFromFullDefaultObject
default ShadowAssociationValue createValueFromFullDefaultObject(@NotNull @NotNull AbstractShadow object) throws SchemaException Call only on simple associations!- Throws:
SchemaException
-
createValueFromDefaultObject
default ShadowAssociationValue createValueFromDefaultObject(@NotNull @NotNull AbstractShadow object) throws SchemaException Call only on simple associations!- Throws:
SchemaException
-
createValueFromDefaultObjectRef
default ShadowAssociationValue createValueFromDefaultObjectRef(@NotNull @NotNull ShadowReferenceAttributeValue refAttrValue) throws SchemaException Call only on simple associations!- Throws:
SchemaException
-
createEmptyDelta
ContainerDelta<ShadowAssociationValueType> createEmptyDelta() -
isEntitlement
boolean isEntitlement() -
getResourceOid
-
clone
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<PrismContainer<ShadowAssociationValueType>>
- Specified by:
clone
in interfacePrismContainerDefinition<ShadowAssociationValueType>
-
findItemDefinition
default <T extends ItemDefinition<?>> T findItemDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<T> clazz) Description copied from interface:LivePrismItemDefinition
Used to find a matching item definition _within_ this definition. Treats e.g. de-referencing in prism references.- Specified by:
findItemDefinition
in interfaceLivePrismItemDefinition
- Specified by:
findItemDefinition
in interfaceLocalItemDefinitionStore
- Specified by:
findItemDefinition
in interfaceShadowItemDefinition
-
getOutboundMappingBeans
-
getInboundMappingBeans
-
isVisible
-
getReferenceAttributeDefinition
-
getStandardPath
ItemPath getStandardPath() -
getTolerantValuePatterns
To be used only for trivial associations; moreover, replaced by mark-based tolerance. -
getIntolerantValuePatterns
To be used only for trivial associations; moreover, replaced by mark-based tolerance. -
isTolerant
boolean isTolerant() -
getModernAssociationDefinitionBean
Use with care. Please do not modify the returned value. -
getModernAssociationTypeDefinitionBean
Use with care. Please do not modify the returned value. -
getAssociationTypeName
-