Class ResourceObjectTypeDefinitionImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
com.evolveum.midpoint.schema.processor.ResourceObjectTypeDefinitionImpl
- All Implemented Interfaces:
AbstractTypeDefinition,Definition,Freezable,LocalItemDefinitionStore,PrismLifecycleDefinition,PrismPresentationDefinition,Revivable,SchemaLookup.Aware,SmartVisitable<Definition>,TypeDefinition,Visitable<Definition>,AssociationDefinitionStore,AttributeDefinitionStore,FrameworkNameResolver,IdentifiersDefinitionStore,LayeredDefinition,ResourceObjectDefinition,ResourceObjectInboundProcessingDefinition,ResourceObjectTypeDefinition,DebugDumpable,Serializable,Cloneable
public final class ResourceObjectTypeDefinitionImpl
extends AbstractResourceObjectDefinitionImpl
implements ResourceObjectTypeDefinition
Default implementation of
ResourceObjectTypeDefinition.
Definition of a type of resource objects, as defined in the `schemaHandling` section.
(The concept of object type is not present in the "raw" view, presented by a connector.
The connector sees only object classes.)
There is almost nothing specific here (compared to AbstractResourceObjectDefinitionImpl), because starting with 4.6,
object class definitions can be refined as well. However, kind and intent are (still) specific to type definitions.- Author:
- 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.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundProcessingDefinition
ResourceObjectInboundProcessingDefinition.AssociationBasedItemImplementation, ResourceObjectInboundProcessingDefinition.AssociationSynchronizationImplementation, ResourceObjectInboundProcessingDefinition.CompleteItemInboundDefinition, ResourceObjectInboundProcessingDefinition.FocusSpecification, ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinitionNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.TypeDefinition
TypeDefinition.TypeDefinitionLikeBuilder, TypeDefinition.TypeDefinitionMutator -
Field Summary
Fields inherited from class com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
delineationFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(Visitor<Definition> visitor) booleanaccept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation) protected voidprotected voidaddDebugDumpTrailer(StringBuilder sb, int indent) @NotNull ResourceObjectTypeDefinitionImplclone()Returns a mutable definition.protected @NotNull ResourceObjectTypeDefinitionImplcloneInLayer(@NotNull LayerType layer) Returns mutable copy.AsResourceObjectDefinition.createBlankShadow()but having the correct resource OID, kind/intent (if applicable), and tag set.@NotNull ResourceObjectTypeDefinitiondeepClone(@NotNull DeepCloneOperation operation) TODO should we really clone the definitions?boolean@NotNull ResourceObjectTypeDefinitionforLayerMutable(@NotNull LayerType layer) Creates a layer-specific mutable version of this definition.@NotNull Set<ResourceObjectTypeIdentification>Returns the identification of all ancestors.@Nullable ObjectReferenceTypeArchetype reference - not present in standalone definitions.Temporary?<T extends CapabilityType>
TgetConfiguredCapability(Class<T> capabilityClass) Returns the configured capability of given class, if present.@Nullable CorrelationDefinitionTypeReturns the correlation definition bean, if present here.Return a human readable name of this class suitable for logs.@Nullable QNameReturns name of the description attribute.@Nullable QNameReturns name of the display name attribute.Returns the focus type name, if present here.TODO@NotNull StringIntent defining this object type (along withResourceObjectTypeDefinition.getKind()).@NotNull ShadowKindTypegetKind()Kind of objects covered by this object type.@Nullable QNameReturns name of the naming attribute.@NotNull NativeObjectClassDefinitionReturns the [structural] native object class definition, typically obtained from the connector.@NotNull ResourceObjectClassDefinitionReturns the [structural] object class definition.@NotNull QNameReturns the name of the object class.@Nullable SchemaContextDefinition@NotNull StringVery short identification, like the object class local name or the kind/intent pair.@Nullable CapabilityCollectionTypeReturns all configured capabilities, if present.@NotNull Collection<? extends SynchronizationReactionDefinition.ObjectSynchronizationReactionDefinition>Returns the synchronization reactions defined here.@NotNull ResourceObjectTypeDefinitionIs this definition bound to a specific resource type? If yes, this method returns its definition.@NotNull ResourceObjectTypeIdentificationIdentification (kind+intent) of this object type.inthashCode()booleanReturns true if there is "synchronization reactions" definition section here (even if it's empty).booleanisDefaultFor(@NotNull ShadowKindType kind) Returns true if this definition can be considered as a default for the specified kind.booleanIs this type explicitly marked as the default object type for given kind? (using default or defaultForKind property).booleanIs this type explicitly marked as the default object type for given object class? (using default or defaultForObjectClass property).Returns the "synchronization enabled" flag value, if present here.Returns the "synchronization opportunistic" flag value, if present here.voidtoString()voidtrimAttributesTo(@NotNull Collection<ItemPath> paths) Methods inherited from class com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
add, copyDefinitionDataFrom, debugDump, debugDump, findAssociationDefinition, findAttributeDefinition, findItemDefinition, findLocalItemDefinition, findSimpleAttributeDefinition, forLayerImmutable, getActivationSchemaHandling, getAnnotation, getAnnotations, getAssociationDefinitions, getAttributeDefinitions, getAttributesVolatileOnAddOperation, getAttributesVolatileOnModifyOperation, getAuxiliaryDefinitions, getAuxiliaryObjectClassInboundMappings, getAuxiliaryObjectClassMappings, getBaseContext, getBasicResourceInformation, getConfiguredAuxiliaryObjectClassNames, getCorrelation, getCurrentLayer, getDefaultInboundMappingEvaluationPhases, getDefinitionBean, getDefinitions, getDelineation, getDeprecatedSince, getDescription, getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getEffectiveShadowCachingPolicy, getEnabledCapability, getHelp, getItemInboundDefinitions, getLastLoginTimestampDefinition, getLifecycleState, getMergerIdentifier, getMergerInstance, getNaturalKeyConstituents, getNaturalKeyInstance, getObjectMultiplicity, getPasswordDefinition, getPlannedRemoval, getPrimaryIdentifiers, getPrimaryIdentifiersNames, getPrismObjectDefinition, getProjectionPolicy, getRemovedSince, getSchemaMigrations, getSearchHierarchyScope, getSecondaryIdentifiers, getSecondaryIdentifiersNames, getSecurityPolicyRef, getShadowMarkingRules, getTypeClass, getTypeName, getVolatility, hasAuxiliaryObjectClass, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchema, mutator, replaceAttributeDefinition, resolveFrameworkName, revive, setSystemDefaultPolicy, validateMethods 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.prism.AbstractTypeDefinition
getTypeNameMethods inherited from interface com.evolveum.midpoint.schema.processor.AssociationDefinitionStore
findAssociationDefinition, findAssociationDefinitionRequired, findAssociationDefinitionRequired, getAssociationDefinitions, getNamesOfAssociationsMethods inherited from interface com.evolveum.midpoint.schema.processor.AttributeDefinitionStore
containsAttributeDefinition, findAttributeDefinition, findAttributeDefinition, findAttributeDefinitionRequired, findAttributeDefinitionRequired, findAttributeDefinitionStrictlyRequired, findAttributeDefinitionStrictlyRequired, findReferenceAttributeDefinitionRequired, findReferenceAttributeDefinitionRequired, findShadowAttributeDefinitionRequired, findSimpleAttributeDefinition, findSimpleAttributeDefinition, findSimpleAttributeDefinition, findSimpleAttributeDefinitionRequired, findSimpleAttributeDefinitionRequired, findSimpleAttributeDefinitionRequired, findSimpleAttributeDefinitionStrictlyRequired, findSimpleAttributeDefinitionStrictlyRequired, getAllSimpleAttributesNames, getAttributeDefinitions, getAttributeDefinitions, getAttributeNames, getReferenceAttributesNames, getSimpleAttributeDefinitions, hasIndexOnlyAttributes, instantiateAttributeMethods 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, getTypeClass, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema, mutatorMethods inherited from interface com.evolveum.midpoint.schema.processor.FrameworkNameResolver
resolveFrameworkNameMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.schema.processor.IdentifiersDefinitionStore
getAllIdentifiers, getAllIdentifiersNames, getPrimaryIdentifierRequired, getPrimaryIdentifiers, getPrimaryIdentifiersNames, getSecondaryIdentifierRequired, getSecondaryIdentifiers, getSecondaryIdentifiersNames, isIdentifier, isPrimaryIdentifier, isSecondaryIdentifierMethods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayerMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findLocalItemDefinitionByIteration, findPropertyDefinition, findReferenceDefinition, getDefinitionsMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemovedMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectDefinition
areCredentialsCached, areCredentialsCachedLegacy, assertAttached, canRepresent, composite, createBlankShadow, createBlankShadowWithPrimaryId, createPrimaryIdentification, findReferenceAttributeDefinition, forLayerImmutable, getActivationBidirectionalMappingType, getActivationFetchStrategy, getActivationInboundMappings, getActivationSchemaHandling, getAssociationDefinitionsFor, getAssociationsComplexTypeDefinition, getAttributesComplexTypeDefinition, getAttributesVolatileOnAddOperation, getAttributesVolatileOnModifyOperation, getAuxiliaryDefinitions, getAuxiliaryObjectClassMappings, getAuxiliaryObjectClassNameForAttribute, getBaseContext, getBasicResourceInformation, getCompileTimeClass, getConfiguredAuxiliaryObjectClassNames, getDefaultInboundMappingEvaluationPhases, getDefaultOperationPolicyOid, getDefinitionBean, getDelineation, getDescription, getDescriptionAttribute, getDisplayNameAttribute, getEffectiveShadowCachingPolicy, getEnabledCapability, getIdentification, getInstantiationOrder, getLastLoginTimestampDefinition, getLastLoginTimestampFetchStrategy, getLifecycleState, getNamingAttribute, getObjectClassLocalName, getObjectMultiplicity, getPasswordDefinition, getPasswordFetchStrategy, getPasswordInboundMappings, getPasswordOutboundMappings, getPrismObjectDefinition, getProjectionPolicy, getReferenceAttributeDefinitions, getReferenceAttributesComplexTypeDefinition, getResourceOid, getSearchHierarchyScope, getSecurityPolicyRef, getShadowMarkingRules, getSimpleAttributesComplexTypeDefinition, getStaticSubTypes, getSuperType, getVolatility, hasAuxiliaryObjectClass, isActivationCached, isAuxiliaryObjectClassPropertyCached, isCachingEnabled, isEffectivelyCached, matchesObjectClassName, queryFor, replaceAttributeDefinition, replaceAttributeDefinition, shouldUpdateCachingMetadata, toPrismObjectDefinition, toShadowAssociationsContainerDefinition, toShadowAttributesContainerDefinition, validateMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundProcessingDefinition
getAuxiliaryObjectClassInboundMappings, getCorrelation, getItemInboundDefinitionsMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectTypeDefinition
createShadowSearchQuery, getArchetypeOid, isThisOrDescendantOf, isThisOrDescendantOf, matches, matchesKindMethods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookupMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFrom
-
Method Details
-
getTypeIdentification
Description copied from interface:ResourceObjectTypeDefinitionIdentification (kind+intent) of this object type.- Specified by:
getTypeIdentificationin interfaceResourceObjectDefinition- Specified by:
getTypeIdentificationin interfaceResourceObjectTypeDefinition
-
getTypeDefinition
Description copied from interface:ResourceObjectDefinitionIs this definition bound to a specific resource type? If yes, this method returns its definition.- Specified by:
getTypeDefinitionin interfaceResourceObjectDefinition- Specified by:
getTypeDefinitionin interfaceResourceObjectTypeDefinition
-
getAncestorsIds
Description copied from interface:ResourceObjectTypeDefinitionReturns the identification of all ancestors. This type is not included in the list.- Specified by:
getAncestorsIdsin interfaceResourceObjectTypeDefinition
-
isDefaultFor
Description copied from interface:ResourceObjectDefinitionReturns true if this definition can be considered as a default for the specified kind. Normally, for a type definition it means that it is marked as "default for a kind" and has the specified kind. But there is a special case ofResourceObjectClassDefinitionwithResourceObjectClassDefinition.isDefaultAccountDefinition()being `true`. It is considered to be the default forShadowKindType.ACCOUNT. Use with care!- Specified by:
isDefaultForin interfaceResourceObjectDefinition
-
getObjectClassDefinition
Description copied from interface:ResourceObjectDefinitionReturns the [structural] object class definition.- Specified by:
getObjectClassDefinitionin interfaceResourceObjectDefinition
-
getNativeObjectClassDefinition
Description copied from interface:ResourceObjectDefinitionReturns the [structural] native object class definition, typically obtained from the connector.- Specified by:
getNativeObjectClassDefinitionin interfaceResourceObjectDefinition
-
getObjectClassName
Description copied from interface:ResourceObjectDefinitionReturns the name of the object class. Always fully qualified; currently with theSchemaConstants.NS_RInamespace.- Specified by:
getObjectClassNamein interfaceResourceObjectDefinition
-
isDefaultForObjectClass
public boolean isDefaultForObjectClass()Description copied from interface:ResourceObjectTypeDefinitionIs this type explicitly marked as the default object type for given object class? (using default or defaultForObjectClass property).- Specified by:
isDefaultForObjectClassin interfaceResourceObjectTypeDefinition- See Also:
-
isDefaultForKind
public boolean isDefaultForKind()Description copied from interface:ResourceObjectTypeDefinitionIs this type explicitly marked as the default object type for given kind? (using default or defaultForKind property).- Specified by:
isDefaultForKindin interfaceResourceObjectTypeDefinition- See Also:
-
getIntent
Description copied from interface:ResourceObjectTypeDefinitionIntent defining this object type (along withResourceObjectTypeDefinition.getKind()).- Specified by:
getIntentin interfaceResourceObjectTypeDefinition
-
getKind
Description copied from interface:ResourceObjectTypeDefinitionKind of objects covered by this object type.- Specified by:
getKindin interfaceResourceObjectTypeDefinition
-
accept
- Specified by:
acceptin interfaceVisitable<Definition>- Overrides:
acceptin classAbstractResourceObjectDefinitionImpl
-
accept
- Specified by:
acceptin interfaceSmartVisitable<Definition>- Overrides:
acceptin classAbstractResourceObjectDefinitionImpl- Returns:
- false if we already was here
-
trimAttributesTo
- Specified by:
trimAttributesToin interfaceResourceObjectDefinition- Overrides:
trimAttributesToin classAbstractResourceObjectDefinitionImpl
-
getSchemaContextDefinition
- Specified by:
getSchemaContextDefinitionin interfaceDefinition
-
clone
Description copied from interface:ResourceObjectDefinitionReturns a mutable definition. BEWARE, the mutableCompositeObjectDefinitionis significantly slower than its immutable counterpart. See MID-9156.- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceResourceObjectDefinition- Specified by:
clonein classAbstractResourceObjectDefinitionImpl
-
forLayerMutable
@NotNull public @NotNull ResourceObjectTypeDefinition forLayerMutable(@NotNull @NotNull LayerType layer) Description copied from interface:ResourceObjectDefinitionCreates a layer-specific mutable version of this definition.- Specified by:
forLayerMutablein interfaceResourceObjectDefinition- Specified by:
forLayerMutablein interfaceResourceObjectTypeDefinition- Overrides:
forLayerMutablein classAbstractResourceObjectDefinitionImpl
-
cloneInLayer
@NotNull protected @NotNull ResourceObjectTypeDefinitionImpl cloneInLayer(@NotNull @NotNull LayerType layer) Description copied from class:AbstractResourceObjectDefinitionImplReturns mutable copy.- Specified by:
cloneInLayerin classAbstractResourceObjectDefinitionImpl
-
deepClone
@NotNull public @NotNull ResourceObjectTypeDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation) TODO should we really clone the definitions?- Specified by:
deepClonein interfaceResourceObjectDefinition
-
getDebugDumpClassName
Description copied from interface:ResourceObjectDefinitionReturn a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassNamein interfaceResourceObjectDefinition
-
getHumanReadableName
Description copied from interface:ResourceObjectDefinitionTODO- Specified by:
getHumanReadableNamein interfaceResourceObjectDefinition
-
toString
-
equals
- Overrides:
equalsin classAbstractResourceObjectDefinitionImpl
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractResourceObjectDefinitionImpl
-
performFreeze
public void performFreeze()- Overrides:
performFreezein classAbstractResourceObjectDefinitionImpl
-
getCorrelationDefinitionBean
Description copied from interface:ResourceObjectTypeDefinitionReturns the correlation definition bean, if present here. (It may be standalone.)- Specified by:
getCorrelationDefinitionBeanin interfaceResourceObjectTypeDefinition
-
isSynchronizationEnabled
Description copied from interface:ResourceObjectTypeDefinitionReturns the "synchronization enabled" flag value, if present here. (It may be standalone.) FIXME- Specified by:
isSynchronizationEnabledin interfaceResourceObjectTypeDefinition
-
isSynchronizationOpportunistic
Description copied from interface:ResourceObjectTypeDefinitionReturns the "synchronization opportunistic" flag value, if present here. (It may be standalone.)- Specified by:
isSynchronizationOpportunisticin interfaceResourceObjectTypeDefinition
-
getFocusTypeName
Description copied from interface:ResourceObjectTypeDefinitionReturns the focus type name, if present here. (It may be standalone.)- Specified by:
getFocusTypeNamein interfaceResourceObjectTypeDefinition
-
getArchetypeRef
Description copied from interface:ResourceObjectTypeDefinitionArchetype reference - not present in standalone definitions.- Specified by:
getArchetypeRefin interfaceResourceObjectTypeDefinition
-
getClassificationCondition
Description copied from interface:ResourceObjectTypeDefinitionTemporary?- Specified by:
getClassificationConditionin interfaceResourceObjectTypeDefinition
-
hasSynchronizationReactionsDefinition
public boolean hasSynchronizationReactionsDefinition()Description copied from interface:ResourceObjectTypeDefinitionReturns true if there is "synchronization reactions" definition section here (even if it's empty).- Specified by:
hasSynchronizationReactionsDefinitionin interfaceResourceObjectTypeDefinition
-
getFocusSpecification
@NotNull public @NotNull ResourceObjectInboundProcessingDefinition.FocusSpecification getFocusSpecification()- Specified by:
getFocusSpecificationin interfaceResourceObjectInboundProcessingDefinition
-
getSynchronizationReactions
@NotNull public @NotNull Collection<? extends SynchronizationReactionDefinition.ObjectSynchronizationReactionDefinition> getSynchronizationReactions()Description copied from interface:ResourceObjectTypeDefinitionReturns the synchronization reactions defined here. (They may be standalone.)- Specified by:
getSynchronizationReactionsin interfaceResourceObjectInboundProcessingDefinition- Specified by:
getSynchronizationReactionsin interfaceResourceObjectTypeDefinition
-
getDescriptionAttributeName
Description copied from interface:ResourceObjectDefinitionReturns name of the description attribute.- Specified by:
getDescriptionAttributeNamein interfaceResourceObjectDefinition- See Also:
-
getNamingAttributeName
Description copied from interface:ResourceObjectDefinitionReturns name of the naming attribute.- Specified by:
getNamingAttributeNamein interfaceResourceObjectDefinition- See Also:
-
getDisplayNameAttributeName
Description copied from interface:ResourceObjectDefinitionReturns name of the display name attribute.- Specified by:
getDisplayNameAttributeNamein interfaceResourceObjectDefinition
-
createBlankShadowWithTag
Description copied from interface:ResourceObjectDefinitionAsResourceObjectDefinition.createBlankShadow()but having the correct resource OID, kind/intent (if applicable), and tag set.- Specified by:
createBlankShadowWithTagin interfaceResourceObjectDefinition
-
getConfiguredCapability
Description copied from interface:ResourceObjectTypeDefinitionReturns the configured capability of given class, if present.- Specified by:
getConfiguredCapabilityin interfaceResourceObjectTypeDefinition
-
getSpecificCapabilities
Description copied from interface:ResourceObjectTypeDefinitionReturns all configured capabilities, if present.- Specified by:
getSpecificCapabilitiesin interfaceResourceObjectTypeDefinition
-
addDebugDumpHeaderExtension
- Overrides:
addDebugDumpHeaderExtensionin classAbstractResourceObjectDefinitionImpl
-
addDebugDumpTrailer
- Overrides:
addDebugDumpTrailerin classAbstractResourceObjectDefinitionImpl
-
getShortIdentification
Description copied from interface:ResourceObjectDefinitionVery short identification, like the object class local name or the kind/intent pair.- Specified by:
getShortIdentificationin interfaceResourceObjectDefinition
-