Interface ResourceObjectClassDefinition
-
- All Superinterfaces:
AssociationDefinitionStore
,AttributeDefinitionStore
,Cloneable
,ComplexTypeDefinition
,DebugDumpable
,Definition
,Freezable
,IdentifiersDefinitionStore
,LayeredDefinition
,LocalItemDefinitionStore
,PrismContextSensitive
,ResourceObjectDefinition
,Revivable
,Serializable
,SmartVisitable<Definition>
,TypeDefinition
,Visitable<Definition>
- All Known Subinterfaces:
MutableResourceObjectClassDefinition
,ResourceObjectClassDefinitionDelegator
- All Known Implementing Classes:
ResourceObjectClassDefinitionImpl
public interface ResourceObjectClassDefinition extends ResourceObjectDefinition
Describes a resource object class (e.g. ri:inetOrgPerson). It is basically a collection of attribute definitions, with a couple of other properties.
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description @NotNull ResourceObjectClassDefinition
clone()
Does a shallow clone of this definition (i.e.default @NotNull ObjectQuery
createShadowSearchQuery(String resourceOid)
Creates a query for obtaining shadows related to this object class.@NotNull ResourceObjectClassDefinition
deepClone(@NotNull DeepCloneOperation operation)
Does a deep clone of this definition.String
getNativeObjectClass()
Returns the native object class name.boolean
hasRefinements()
Returns `true` if there are really any refinements (i.e.ResourceAttributeContainer
instantiate(ItemName elementName)
Creates aResourceAttributeContainer
instance with this definition as its complex type definition.boolean
isAuxiliary()
TODOboolean
isDefaultAccountDefinition()
Indicates whether definition is the default account definition.boolean
isRaw()
Returns `true` if this definition is a part of the raw schema.MutableResourceObjectClassDefinition
toMutable()
Returns an interface to mutate this definition.-
Methods inherited from interface com.evolveum.midpoint.schema.processor.AssociationDefinitionStore
findAssociationDefinition, findAssociationDefinitionRequired, getAssociationDefinitions, getAssociationDefinitions, getNamesOfAssociations, getNamesOfAssociationsWithInboundExpressions, getNamesOfAssociationsWithOutboundExpressions
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.AttributeDefinitionStore
containsAttributeDefinition, findAttributeDefinition, findAttributeDefinition, findAttributeDefinition, findAttributeDefinitionRequired, findAttributeDefinitionRequired, findAttributeDefinitionStrictlyRequired, findAttributeDefinitionStrictlyRequired, getAttributeDefinitions, getAttributeDefinitions, getNamesOfAttributesWithInboundExpressions, getNamesOfAttributesWithOutboundExpressions, hasIndexOnlyAttributes
-
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getDefaultNamespace, getDefinitions, getExtensionForType, getIgnoredNamespaces, getXmlAttributeDefinitions, hasOperationalOnlyItems, hasSubstitutions, hasSubstitutions, isContainerMarker, isEmpty, isItemDefinitionRemoved, isListMarker, isObjectMarker, isReferenceMarker, isStrictAnyMarker, isXsdAnyMarker, itemOrSubstitution, merge, substitution, trimTo
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Definition
debugDump, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getProcessing, getSchemaMigrations, getSchemaRegistry, getTypeClass, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.IdentifiersDefinitionStore
getAllIdentifiers, getPrimaryIdentifierRequired, getPrimaryIdentifiers, getPrimaryIdentifiersNames, getSecondaryIdentifiers, getSecondaryIdentifiersNames, isIdentifier, isPrimaryIdentifier, isSecondaryIdentifier
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayer
-
Methods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinition, findReferenceDefinition
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectDefinition
createBlankShadow, forLayer, getActivationBidirectionalMappingType, getActivationFetchStrategy, getActivationSchemaHandling, getAuxiliaryDefinitions, getAuxiliaryObjectClassMappings, getBaseContext, getConfiguredAuxiliaryObjectClassNames, getDebugDumpClassName, getDefaultInboundMappingEvaluationPhases, getDefinitionBean, getDelineation, getDescription, getDescriptionAttribute, getDescriptionAttributeName, getDisplayNameAttribute, getDisplayNameAttributeName, getEnabledCapability, getHumanReadableName, getLifecycleState, getNamingAttribute, getNamingAttributeName, getObjectClassDefinition, getObjectClassName, getObjectMultiplicity, getPasswordDefinition, getPasswordFetchStrategy, getPasswordInbound, getPasswordOutbound, getPrismObjectDefinition, getProjectionPolicy, getProtectedObjectPatterns, getRawObjectClassDefinition, getResourceOid, getSearchHierarchyScope, getSecurityPolicyRef, getTypeDefinition, getTypeIdentification, getVolatility, hasAuxiliaryObjectClass, isDefaultFor, matchesObjectClassName, replaceDefinition, replaceDefinition, toResourceAttributeContainerDefinition, toResourceAttributeContainerDefinition, validate
-
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, isAssignableFrom
-
-
-
-
Method Detail
-
getNativeObjectClass
String getNativeObjectClass()
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()
TODO
-
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
@NotNull default @NotNull ObjectQuery createShadowSearchQuery(String resourceOid) throws SchemaException
Creates a query for obtaining shadows related to this object class.- Specified by:
createShadowSearchQuery
in interfaceResourceObjectDefinition
- Throws:
SchemaException
-
instantiate
ResourceAttributeContainer instantiate(ItemName elementName)
Description copied from interface:ResourceObjectDefinition
Creates aResourceAttributeContainer
instance with this definition as its complex type definition.- Specified by:
instantiate
in interfaceResourceObjectDefinition
-
clone
@NotNull @NotNull ResourceObjectClassDefinition clone()
Description copied from interface:ComplexTypeDefinition
Does a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).- Specified by:
clone
in interfaceComplexTypeDefinition
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceResourceObjectDefinition
-
deepClone
@NotNull @NotNull ResourceObjectClassDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation)
Description copied from interface:ComplexTypeDefinition
Does a deep clone of this definition.- Specified by:
deepClone
in interfaceComplexTypeDefinition
- Specified by:
deepClone
in interfaceResourceObjectDefinition
-
toMutable
MutableResourceObjectClassDefinition toMutable()
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
toMutable
in interfaceComplexTypeDefinition
- Specified by:
toMutable
in interfaceDefinition
-
-