Interface ResourceObjectClassDefinition
- All Superinterfaces:
AbstractTypeDefinition,AssociationDefinitionStore,AttributeDefinitionStore,Cloneable,DebugDumpable,Definition,FrameworkNameResolver,Freezable,IdentifiersDefinitionStore,LayeredDefinition,LocalItemDefinitionStore,PrismLifecycleDefinition,PrismPresentationDefinition,ResourceObjectDefinition,ResourceObjectInboundProcessingDefinition,Revivable,SchemaLookup.Aware,Serializable,SmartVisitable<Definition>,TypeDefinition,Visitable<Definition>
- All Known Subinterfaces:
ResourceObjectClassDefinitionDelegator
- All Known Implementing Classes:
ResourceObjectClassDefinitionImpl
Describes a resource object class (e.g. `ri:inetOrgPerson`).
It is basically a collection of attribute/association definitions, with a couple of other properties.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceInterface allowing modifications of an object class definition.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 interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescription@NotNull ResourceObjectClassDefinitionclone()Returns a mutable definition.default @NotNull ObjectQuerycreateShadowSearchQuery(String resourceOid) Creates a query for obtaining shadows related to this object class.@NotNull ResourceObjectClassDefinitiondeepClone(@NotNull DeepCloneOperation operation) Returns a mutable definition.@NotNull ResourceObjectDefinitionThe effective definition for this object class.Returns the native object class name.booleanReturns `true` if there are really any refinements (i.e.booleanIs this an auxiliary object class, i.e., a class that can be attached to an object that already holds the structural object class? This is originally an LDAP concept, but it may be applicable to other systems as well.booleanIndicates whether definition is the default account definition.booleanIs this object class embedded, i.e., meant to implement complex associations?booleanisRaw()Returns `true` if this definition is a part of the raw schema.Methods 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, getSchemaContextDefinition, 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, createBlankShadowWithTag, createPrimaryIdentification, findReferenceAttributeDefinition, forLayerImmutable, forLayerMutable, getActivationBidirectionalMappingType, getActivationFetchStrategy, getActivationInboundMappings, getActivationSchemaHandling, getAssociationDefinitionsFor, getAssociationsComplexTypeDefinition, getAttributesComplexTypeDefinition, getAttributesVolatileOnAddOperation, getAttributesVolatileOnModifyOperation, getAuxiliaryDefinitions, getAuxiliaryObjectClassMappings, getAuxiliaryObjectClassNameForAttribute, getBaseContext, getBasicResourceInformation, getCompileTimeClass, getConfiguredAuxiliaryObjectClassNames, getDebugDumpClassName, getDefaultInboundMappingEvaluationPhases, getDefaultOperationPolicyOid, getDefinitionBean, getDelineation, getDescription, getDescriptionAttribute, getDescriptionAttributeName, getDisplayNameAttribute, getDisplayNameAttributeName, getEffectiveShadowCachingPolicy, getEnabledCapability, getHumanReadableName, getIdentification, getInstantiationOrder, getLastLoginTimestampDefinition, getLastLoginTimestampFetchStrategy, getLifecycleState, getNamingAttribute, getNamingAttributeName, getNativeObjectClassDefinition, getObjectClassDefinition, getObjectClassLocalName, getObjectClassName, getObjectMultiplicity, getPasswordDefinition, getPasswordFetchStrategy, getPasswordInboundMappings, getPasswordOutboundMappings, getPrismObjectDefinition, getProjectionPolicy, getReferenceAttributeDefinitions, getReferenceAttributesComplexTypeDefinition, getResourceOid, getSearchHierarchyScope, getSecurityPolicyRef, getShadowMarkingRules, getShortIdentification, getSimpleAttributesComplexTypeDefinition, getStaticSubTypes, getSuperType, getTypeDefinition, getTypeIdentification, getVolatility, hasAuxiliaryObjectClass, isActivationCached, isAuxiliaryObjectClassPropertyCached, isCachingEnabled, isDefaultFor, isEffectivelyCached, matchesObjectClassName, queryFor, replaceAttributeDefinition, replaceAttributeDefinition, shouldUpdateCachingMetadata, toPrismObjectDefinition, toShadowAssociationsContainerDefinition, toShadowAttributesContainerDefinition, trimAttributesTo, validateMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundProcessingDefinition
getAuxiliaryObjectClassInboundMappings, getCorrelation, getFocusSpecification, getItemInboundDefinitions, getSynchronizationReactionsMethods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookupMethods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
acceptMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFrom
-
Method Details
-
getNativeObjectClassName
String getNativeObjectClassName()Returns the native object class name. Native object class is the name of the object class as it is seen by the resource itself. The name of the object class used in midPoint may be constrained by XSD or other syntax and therefore may be "mangled" to conform to such syntax. The _native object class_ value will contain original, un-mangled name (if available). Returns null if there is no native object class. 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.- Returns:
- native object class
-
isAuxiliary
boolean isAuxiliary()Is this an auxiliary object class, i.e., a class that can be attached to an object that already holds the structural object class? This is originally an LDAP concept, but it may be applicable to other systems as well. -
isEmbedded
boolean isEmbedded()Is this object class embedded, i.e., meant to implement complex associations? -
isDefaultAccountDefinition
boolean isDefaultAccountDefinition()Indicates whether definition is the default account definition. (This feature is present for "dumb" resource definition that are completely without `schemaHandling` part.) This is a way how a resource connector may suggest applicable object classes. Currently the only use of this flag is that ConnId `pass:[__ACCOUNT__]` is declared as a default for the kind of `ACCOUNT`. Originally, this property was called `defaultInAKind` and marked the object class as being default for given kind. At that time, the kind was part of object class definition. This is no longer the case, therefore also this property is renamed - and is available only for account-like object classes. In the future we may put those things (kind + default-in-a-kind) back, if needed. -
isRaw
boolean isRaw()Returns `true` if this definition is a part of the raw schema. Note that if it's part of refined schema (but not refined in any way) the return value is `true`. See alsohasRefinements(). -
hasRefinements
boolean hasRefinements()Returns `true` if there are really any refinements (i.e. a refinement bean exists, even if it can be effectively empty, besides obligatory object class name reference). -
createShadowSearchQuery
Creates a query for obtaining shadows related to this object class.- Specified by:
createShadowSearchQueryin interfaceResourceObjectDefinition
-
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
-
deepClone
@NotNull @NotNull ResourceObjectClassDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation) Description copied from interface:ResourceObjectDefinitionReturns a mutable definition. BEWARE, the mutableCompositeObjectDefinitionis significantly slower than its immutable counterpart. See MID-9156.- Specified by:
deepClonein interfaceResourceObjectDefinition
-
getEffectiveDefinition
The effective definition for this object class. It may be the same as this definition, or it may be the "default for object class" type definition (better to avoid - see MID-10309). TODO remove?
-