Interface ResourceObjectDefinitionDelegator
- All Superinterfaces:
AssociationDefinitionStore,AttributeDefinitionStore,Cloneable,ComplexTypeDefinition,ComplexTypeDefinitionDelegator,DebugDumpable,Definition,DefinitionDelegator,Freezable,IdentifiersDefinitionStore,LayeredDefinition,LocalItemDefinitionStore,PrismContextSensitive,ResourceObjectDefinition,Revivable,Serializable,SmartVisitable<Definition>,TypeDefinition,TypeDefinitionDelegator,Visitable<Definition>
- All Known Subinterfaces:
CompositeObjectDefinitionDelegator,ResourceObjectClassDefinitionDelegator,ResourceObjectTypeDefinitionDelegator
- All Known Implementing Classes:
TransformableComplexTypeDefinition.TrCompositeObjectDefinition,TransformableComplexTypeDefinition.TrResourceObjectClassDefinition,TransformableComplexTypeDefinition.TrResourceObjectDefinition,TransformableComplexTypeDefinition.TrResourceObjectTypeDefinition
public interface ResourceObjectDefinitionDelegator
extends ComplexTypeDefinitionDelegator, ResourceObjectDefinition
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptiondefault PrismObject<ShadowType>createBlankShadow(String resourceOid, String tag) Creates a blankShadowTypeobject, with the attributes container having appropriate definition.default @NotNull ObjectQuerycreateShadowSearchQuery(String resourceOid) Creates a query for obtaining shadows related to this object class or object type.delegate()default ResourceAttributeDefinition<?>Finds attribute definition using local name only.default @Nullable ResourceAttributeDefinition<?>findAttributeDefinition(QName name, boolean caseInsensitive) Finds a attribute definition by looking at the property name.default @NotNull ResourceObjectDefinitionforLayerImmutable(@NotNull LayerType layer) AsResourceObjectDefinition.forLayerMutable(LayerType)but returns immutable definition.default @NotNull ResourceObjectDefinitionforLayerMutable(@NotNull LayerType layer) Creates a layer-specific mutable version of this definition.default ResourceActivationDefinitionTypedefault @NotNull Collection<ResourceAssociationDefinition>Returns definitions of all associations as an unmodifiable collection.default @NotNull List<? extends ResourceAttributeDefinition<?>>Returns all attribute definitions as an unmodifiable collection.default ResourceObjectReferenceTypeThe definition of base context (resource object container).default Collection<QName>Returns the names of auxiliary object classes that are "statically" defined for this object type (or object class, in the future).default @NotNull LayerTypeGets the current point-of-view: on which layer do we look at the data?default StringReturn a human readable name of this class suitable for logs.default @Nullable DefaultInboundMappingEvaluationPhasesTypeReturns the phases in which inbound mappings are evaluated by default.default @NotNull ResourceObjectTypeDefinitionTypeReturns the "raw" configuration bean for this object type.default @NotNull ResourceObjectTypeDelineationReturns the delineation of the set of objects belonging to this object type.default StringFree-form textual description of the object.default ResourceAttributeDefinition<?>Returns the definition of description attribute of a resource object.default @Nullable QNameReturns name of the description attribute.default ResourceAttributeDefinition<?>Returns the definition of display name attribute.default @Nullable QNameReturns name of the display name attribute.default <T extends CapabilityType>
TgetEnabledCapability(@NotNull Class<T> capabilityClass, ResourceType resource) Checks the presence of capability in: 1.default StringTODOdefault @Nullable StringWhat lifecycle state is the (refined) object class or object type definition? Raw object class definition should always return `null` here.default ResourceAttributeDefinition<?>Returns the attribute used as a visible name of the resource object.default @Nullable QNameReturns name of the naming attribute.default @NotNull ResourceObjectClassDefinitionReturns the (raw or refined) object class definition.default @NotNull QNameReturns the name of the object class.default ResourceObjectMultiplicityTypedefault @Nullable ResourcePasswordDefinitionTypedefault @NotNull Collection<? extends ResourceAttributeDefinition<?>>Returns the definition of primary identifier attributes of a resource object.default @NotNull Collection<QName>Returns names of primary identifiers.default PrismObjectDefinition<ShadowType>Returns a prism definition for the prism object/objects carrying the resource object/objects.default ProjectionPolicyTypedefault @NotNull Collection<ResourceObjectPattern>Returns compiled patterns denoting protected objects.default @NotNull ResourceObjectClassDefinitionReturns the raw object class definition.default StringThis is currently used only to pass information about association in the model-impl TODO consider removal!default SearchHierarchyScopeDefinition of search hierarchy scope.default @NotNull Collection<? extends ResourceAttributeDefinition<?>>Returns the definition of secondary identifier attributes of a resource object.default @NotNull Collection<QName>Returns names of secondary identifiers.default ObjectReferenceTypedefault @Nullable ResourceObjectTypeDefinitionIs this definition bound to a specific resource type? If yes, this method returns its definition.default @Nullable ResourceObjectTypeIdentificationIs this definition bound to a specific resource type? If yes, this method returns its identification.default @NotNull ResourceObjectVolatilityTypeSpecifies volatility of this type of resource objects, i.e.default booleanhasAuxiliaryObjectClass(QName expectedObjectClassName) TODO define semantics (it's different forCompositeObjectDefinitionand the others!default booleanisDefaultFor(@NotNull ShadowKindType kind) Returns true if this definition can be considered as a default for the specified kind.default booleanisPrimaryIdentifier(QName attrName) Returns true if the attribute with a given name is among primary identifiers.default booleanisSecondaryIdentifier(QName attrName) Returns true if the attribute with a given name is among secondary identifiers.default voidreplaceDefinition(@NotNull QName itemName, @Nullable ItemDefinition<?> newDefinition) Replaces a definition for given item name with a provided one.CreatesResourceAttributeContainerDefinitionwith this definition as a complex type definition.toResourceAttributeContainerDefinition(QName elementName) CreatesResourceAttributeContainerDefinition(with given item name) with this definition as a complex type definition.default voidvalidate()Executes some basic checks on this object type.Methods inherited from interface com.evolveum.midpoint.schema.processor.AssociationDefinitionStore
findAssociationDefinition, findAssociationDefinitionRequired, getAssociationDefinitions, getNamesOfAssociations, getNamesOfAssociationsWithInboundExpressions, getNamesOfAssociationsWithOutboundExpressionsMethods inherited from interface com.evolveum.midpoint.schema.processor.AttributeDefinitionStore
containsAttributeDefinition, findAttributeDefinition, findAttributeDefinitionRequired, findAttributeDefinitionRequired, findAttributeDefinitionStrictlyRequired, findAttributeDefinitionStrictlyRequired, getAttributeDefinitions, getNamesOfAttributesWithInboundExpressions, getNamesOfAttributesWithOutboundExpressions, hasIndexOnlyAttributes, propertyToAttributeMethods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getXmlAttributeDefinitions, hasSubstitutions, isItemDefinitionRemoved, isStrictAnyMarker, toMutableMethods inherited from interface com.evolveum.midpoint.prism.deleg.ComplexTypeDefinitionDelegator
findContainerDefinition, findItemDefinition, findItemDefinition, findReferenceDefinition, getDefaultNamespace, getDefinitions, getDiagrams, getExtensionForType, getIgnoredNamespaces, hasOperationalOnlyItems, hasSubstitutions, isContainerMarker, isEmpty, isListMarker, isObjectMarker, isReferenceMarker, isXsdAnyMarker, itemOrSubstitution, merge, substitution, trimToMethods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getPrismContext, getProcessing, getRemovedSince, getSchemaMigrations, getSchemaRegistry, getTypeClass, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, isRuntimeSchema, setAnnotationMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.schema.processor.IdentifiersDefinitionStore
getAllIdentifiers, getPrimaryIdentifierRequired, isIdentifierMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinitionMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectDefinition
clone, deepClone, getActivationBidirectionalMappingType, getActivationFetchStrategy, getAuxiliaryDefinitions, getPasswordFetchStrategy, getPasswordInbound, getPasswordOutbound, instantiate, matchesObjectClassName, replaceDefinitionMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFromMethods inherited from interface com.evolveum.midpoint.prism.deleg.TypeDefinitionDelegator
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType
-
Method Details
-
delegate
ResourceObjectDefinition delegate()- Specified by:
delegatein interfaceComplexTypeDefinitionDelegator- Specified by:
delegatein interfaceDefinitionDelegator- Specified by:
delegatein interfaceTypeDefinitionDelegator
-
getAttributeDefinitions
Description copied from interface:AttributeDefinitionStoreReturns all attribute definitions as an unmodifiable collection. Should be the same content as returned by `getDefinitions`. The returned value is aListbecause of the contract ofComplexTypeDefinition.getDefinitions().- Specified by:
getAttributeDefinitionsin interfaceAttributeDefinitionStore
-
findAttributeDefinition
@Nullable default @Nullable ResourceAttributeDefinition<?> findAttributeDefinition(QName name, boolean caseInsensitive) Description copied from interface:AttributeDefinitionStoreFinds a attribute definition by looking at the property name. Returns null if nothing is found.- Specified by:
findAttributeDefinitionin interfaceAttributeDefinitionStore- Parameters:
name- property definition namecaseInsensitive- if true, ignoring the case- Returns:
- found property definition or null
-
findAttributeDefinition
Description copied from interface:AttributeDefinitionStoreFinds attribute definition using local name only. BEWARE: Ignores attributes in namespaces other than "ri:" (e.g. icfs:uid and icfs:name).- Specified by:
findAttributeDefinitionin interfaceAttributeDefinitionStore
-
getPrimaryIdentifiers
@NotNull default @NotNull Collection<? extends ResourceAttributeDefinition<?>> getPrimaryIdentifiers()Description copied from interface:IdentifiersDefinitionStoreReturns the definition of primary identifier attributes of a resource object. May return empty set if there are no identifier attributes. Must not return null. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.- Specified by:
getPrimaryIdentifiersin interfaceIdentifiersDefinitionStore- Returns:
- definition of identifier attributes
-
isPrimaryIdentifier
Description copied from interface:IdentifiersDefinitionStoreReturns true if the attribute with a given name is among primary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).- Specified by:
isPrimaryIdentifierin interfaceIdentifiersDefinitionStore
-
getSecondaryIdentifiers
@NotNull default @NotNull Collection<? extends ResourceAttributeDefinition<?>> getSecondaryIdentifiers()Description copied from interface:IdentifiersDefinitionStoreReturns the definition of secondary identifier attributes of a resource object. May return empty set if there are no secondary identifier attributes. Must not return null. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.- Specified by:
getSecondaryIdentifiersin interfaceIdentifiersDefinitionStore- Returns:
- definition of secondary identifier attributes
-
isSecondaryIdentifier
Description copied from interface:IdentifiersDefinitionStoreReturns true if the attribute with a given name is among secondary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).- Specified by:
isSecondaryIdentifierin interfaceIdentifiersDefinitionStore
-
getDescriptionAttribute
Description copied from interface:ResourceObjectDefinitionReturns the definition of description attribute of a resource object. Returns null if there is no description attribute. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing. NOTE: Currently seems to be not used. (Neither not set nor used.)- Specified by:
getDescriptionAttributein interfaceResourceObjectDefinition
-
getNamingAttribute
Description copied from interface:ResourceObjectDefinitionReturns the attribute used as a visible name of the resource object.- Specified by:
getNamingAttributein interfaceResourceObjectDefinition
-
getDisplayNameAttribute
Description copied from interface:ResourceObjectDefinitionReturns the definition of display name attribute. Display name attribute specifies which resource attribute should be used as title when displaying objects of a specific resource object class. It must point to an attribute of String type. If not present, primary identifier should be used instead (but this method does not handle this default behavior). Returns null if there is no display name attribute. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing. NOTE: Currently seems to be not used. (Neither not set nor used.)- Specified by:
getDisplayNameAttributein interfaceResourceObjectDefinition
-
toResourceAttributeContainerDefinition
Description copied from interface:ResourceObjectDefinitionCreatesResourceAttributeContainerDefinitionwith this definition as a complex type definition.- Specified by:
toResourceAttributeContainerDefinitionin interfaceResourceObjectDefinition
-
toResourceAttributeContainerDefinition
default ResourceAttributeContainerDefinition toResourceAttributeContainerDefinition(QName elementName) Description copied from interface:ResourceObjectDefinitionCreatesResourceAttributeContainerDefinition(with given item name) with this definition as a complex type definition.- Specified by:
toResourceAttributeContainerDefinitionin interfaceResourceObjectDefinition
-
getPrismObjectDefinition
Description copied from interface:ResourceObjectDefinitionReturns a prism definition for the prism object/objects carrying the resource object/objects.- Specified by:
getPrismObjectDefinitionin interfaceResourceObjectDefinition
-
getPasswordDefinition
Description copied from interface:ResourceObjectDefinition- Specified by:
getPasswordDefinitionin interfaceResourceObjectDefinition
-
getObjectClassDefinition
Description copied from interface:ResourceObjectDefinitionReturns the (raw or refined) object class definition. It is either this object itself (for object classes), or the linked object class definition (for object types).- Specified by:
getObjectClassDefinitionin interfaceResourceObjectDefinition
-
getObjectClassName
Description copied from interface:ResourceObjectDefinitionReturns the name of the object class.- Specified by:
getObjectClassNamein interfaceResourceObjectDefinition
-
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- See Also:
-
createBlankShadow
Description copied from interface:ResourceObjectDefinitionCreates a blankShadowTypeobject, with the attributes container having appropriate definition.- Specified by:
createBlankShadowin interfaceResourceObjectDefinition
-
getEnabledCapability
default <T extends CapabilityType> T getEnabledCapability(@NotNull @NotNull Class<T> capabilityClass, ResourceType resource) Description copied from interface:ResourceObjectDefinitionChecks the presence of capability in: 1. resource object definition (applicable only to resource object _type_ definitions), 2. additional connectors in resource (only if enabled there), 3. the main connector. Returns the present capability, but only if it's enabled.- Specified by:
getEnabledCapabilityin interfaceResourceObjectDefinition
-
getHumanReadableName
Description copied from interface:ResourceObjectDefinitionTODO- Specified by:
getHumanReadableNamein interfaceResourceObjectDefinition
-
getAssociationDefinitions
Description copied from interface:AssociationDefinitionStoreReturns definitions of all associations as an unmodifiable collection. Note: these items are _not_ included in getDefinitions. (BTW, ResourceAssociationDefinition is not a subtype of ItemDefinition, not even of Definition.)- Specified by:
getAssociationDefinitionsin interfaceAssociationDefinitionStore
-
getPrimaryIdentifiersNames
Description copied from interface:IdentifiersDefinitionStoreReturns names of primary identifiers.- Specified by:
getPrimaryIdentifiersNamesin interfaceIdentifiersDefinitionStore- See Also:
-
getSecondaryIdentifiersNames
Description copied from interface:IdentifiersDefinitionStoreReturns names of secondary identifiers.- Specified by:
getSecondaryIdentifiersNamesin interfaceIdentifiersDefinitionStore- See Also:
-
getDebugDumpClassName
Description copied from interface:ResourceObjectDefinitionReturn a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassNamein interfaceResourceObjectDefinition
-
forLayerMutable
@NotNull default @NotNull ResourceObjectDefinition forLayerMutable(@NotNull @NotNull LayerType layer) Description copied from interface:ResourceObjectDefinitionCreates a layer-specific mutable version of this definition.- Specified by:
forLayerMutablein interfaceResourceObjectDefinition
-
forLayerImmutable
@NotNull default @NotNull ResourceObjectDefinition forLayerImmutable(@NotNull @NotNull LayerType layer) Description copied from interface:ResourceObjectDefinitionAsResourceObjectDefinition.forLayerMutable(LayerType)but returns immutable definition.- Specified by:
forLayerImmutablein interfaceResourceObjectDefinition
-
getSecurityPolicyRef
- Specified by:
getSecurityPolicyRefin interfaceResourceObjectDefinition- See Also:
-
replaceDefinition
default void replaceDefinition(@NotNull @NotNull QName itemName, @Nullable @Nullable ItemDefinition<?> newDefinition) Description copied from interface:ResourceObjectDefinitionReplaces a definition for given item name with a provided one.- Specified by:
replaceDefinitionin interfaceResourceObjectDefinition
-
getCurrentLayer
Description copied from interface:LayeredDefinitionGets the current point-of-view: on which layer do we look at the data?- Specified by:
getCurrentLayerin interfaceLayeredDefinition
-
getDescription
Description copied from interface:ResourceObjectDefinitionFree-form textual description of the object. It is supposed to describe the object or a construct that it is attached to.- Specified by:
getDescriptionin interfaceResourceObjectDefinition- See Also:
-
getResourceOid
Description copied from interface:ResourceObjectDefinitionThis is currently used only to pass information about association in the model-impl TODO consider removal!- Specified by:
getResourceOidin interfaceResourceObjectDefinition
-
getObjectMultiplicity
- Specified by:
getObjectMultiplicityin interfaceResourceObjectDefinition- See Also:
-
getProjectionPolicy
- Specified by:
getProjectionPolicyin interfaceResourceObjectDefinition- See Also:
-
hasAuxiliaryObjectClass
Description copied from interface:ResourceObjectDefinitionTODO define semantics (it's different forCompositeObjectDefinitionand the others!- Specified by:
hasAuxiliaryObjectClassin interfaceResourceObjectDefinition
-
getAuxiliaryObjectClassMappings
- Specified by:
getAuxiliaryObjectClassMappingsin interfaceResourceObjectDefinition- See Also:
-
getProtectedObjectPatterns
Description copied from interface:ResourceObjectDefinitionReturns compiled patterns denoting protected objects.- Specified by:
getProtectedObjectPatternsin interfaceResourceObjectDefinition- See Also:
-
getActivationSchemaHandling
- Specified by:
getActivationSchemaHandlingin interfaceResourceObjectDefinition- See Also:
-
getDelineation
Description copied from interface:ResourceObjectDefinitionReturns the delineation of the set of objects belonging to this object type. Note that this tells only about information stored right in the definition bean, i.e. legacy configuration is not provided here. The complete picture is provided bySynchronizationPolicy.getDelineation().- Specified by:
getDelineationin interfaceResourceObjectDefinition
-
getBaseContext
Description copied from interface:ResourceObjectDefinitionThe definition of base context (resource object container). This object will be used as a base for searches for objects of this type.- Specified by:
getBaseContextin interfaceResourceObjectDefinition- See Also:
-
getSearchHierarchyScope
Description copied from interface:ResourceObjectDefinitionDefinition of search hierarchy scope. It specifies how "deep" the search should go into the object hierarchy.- Specified by:
getSearchHierarchyScopein interfaceResourceObjectDefinition- See Also:
-
getVolatility
Description copied from interface:ResourceObjectDefinitionSpecifies volatility of this type of resource objects, i.e. whether such an object can change when midPoint is not looking.- Specified by:
getVolatilityin interfaceResourceObjectDefinition- See Also:
-
getDefaultInboundMappingEvaluationPhases
@Nullable default @Nullable DefaultInboundMappingEvaluationPhasesType getDefaultInboundMappingEvaluationPhases()Description copied from interface:ResourceObjectDefinitionReturns the phases in which inbound mappings are evaluated by default.- Specified by:
getDefaultInboundMappingEvaluationPhasesin interfaceResourceObjectDefinition- See Also:
-
getLifecycleState
Description copied from interface:ResourceObjectDefinitionWhat lifecycle state is the (refined) object class or object type definition? Raw object class definition should always return `null` here.- Specified by:
getLifecycleStatein interfaceResourceObjectDefinition- See Also:
-
getConfiguredAuxiliaryObjectClassNames
Description copied from interface:ResourceObjectDefinitionReturns the names of auxiliary object classes that are "statically" defined for this object type (or object class, in the future). For dynamically composed definitions (CompositeObjectDefinitiononly the statically-defined ones (i.e. those from the structural definition) are returned.- Specified by:
getConfiguredAuxiliaryObjectClassNamesin interfaceResourceObjectDefinition
-
validate
Description copied from interface:ResourceObjectDefinitionExecutes some basic checks on this object type. Moved from `validateObjectClassDefinition()` method inResourceTypeUtil. TODO review this method- Specified by:
validatein interfaceResourceObjectDefinition- Throws:
SchemaException
-
getDefinitionBean
Description copied from interface:ResourceObjectDefinitionReturns the "raw" configuration bean for this object type.- Specified by:
getDefinitionBeanin interfaceResourceObjectDefinition
-
getRawObjectClassDefinition
Description copied from interface:ResourceObjectDefinitionReturns the raw object class definition.- Specified by:
getRawObjectClassDefinitionin interfaceResourceObjectDefinition
-
createShadowSearchQuery
@NotNull default @NotNull ObjectQuery createShadowSearchQuery(String resourceOid) throws SchemaException Description copied from interface:ResourceObjectDefinitionCreates a query for obtaining shadows related to this object class or object type. The current implementations return either: - a combination of resource OID + object class name, or - a combination of resource OID + kind + intent.- Specified by:
createShadowSearchQueryin interfaceResourceObjectDefinition- Throws:
SchemaException
-
getTypeIdentification
Description copied from interface:ResourceObjectDefinitionIs this definition bound to a specific resource type? If yes, this method returns its identification.- Specified by:
getTypeIdentificationin interfaceResourceObjectDefinition
-
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
-
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
-