Class ResourceObjectClassDefinitionImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
com.evolveum.midpoint.schema.processor.ResourceObjectClassDefinitionImpl
- All Implemented Interfaces:
ComplexTypeDefinition
,Definition
,Freezable
,LocalItemDefinitionStore
,MutableComplexTypeDefinition
,MutableDefinition
,MutableTypeDefinition
,PrismContextSensitive
,Revivable
,SmartVisitable<Definition>
,TypeDefinition
,Visitable<Definition>
,AssociationDefinitionStore
,AttributeDefinitionStore
,IdentifiersDefinitionStore
,LayeredDefinition
,MutableResourceObjectClassDefinition
,ResourceObjectClassDefinition
,ResourceObjectDefinition
,DebugDumpable
,Serializable
,Cloneable
public class ResourceObjectClassDefinitionImpl
extends AbstractResourceObjectDefinitionImpl
implements MutableResourceObjectClassDefinition
Default implementation of
ResourceObjectClassDefinition
.
TODO should we have subclasses for raw/refined variants? Maybe.- Author:
- semancik
- See Also:
-
Field Summary
Fields inherited from class com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
delineation
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(Visitor<Definition> visitor) boolean
accept
(Visitor<Definition> visitor, SmartVisitation<Definition> visitation) protected void
protected void
addDebugDumpTrailer
(StringBuilder sb, int indent) void
addDiagram
(ItemDiagramSpecification diagram) void
void
addSchemaMigration
(SchemaMigration schemaMigration) void
void
addSubstitution
(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst) @NotNull ResourceObjectClassDefinitionImpl
clone()
Returns a mutable definition.protected @NotNull ResourceObjectClassDefinitionImpl
cloneInLayer
(@NotNull LayerType layer) Returns mutable copy.protected void
copyDefinitionDataFrom
(@NotNull LayerType layer, ResourceObjectClassDefinition source) <T> ResourceAttributeDefinition<T>
createAttributeDefinition
(@NotNull QName name, @NotNull QName typeName, @NotNull Consumer<MutableRawResourceAttributeDefinition<?>> consumer) Returned value is immutable.createPropertyDefinition
(String name, QName typeName) createPropertyDefinition
(QName name, QName typeName) @NotNull ResourceObjectClassDefinition
deepClone
(@NotNull DeepCloneOperation operation) Returns a mutable definition.void
boolean
Return a human readable name of this class suitable for logs.@Nullable QName
Returns name of the description attribute.@Nullable QName
Returns name of the display name attribute.<T extends CapabilityType>
TgetEnabledCapability
(@NotNull Class<T> capabilityClass, ResourceType resource) Checks the presence of capability in: 1.TODO@Nullable QName
Returns name of the naming attribute.Returns the native object class name.@NotNull ResourceObjectClassDefinition
Returns the (raw or refined) object class definition.@NotNull QName
Returns the name of the object class.@Nullable ResourcePasswordDefinitionType
@NotNull ResourceObjectClassDefinition
Returns the raw object class definition.This is currently used only to pass information about association in the model-impl TODO consider removal!@Nullable ResourceObjectTypeDefinition
Is this definition bound to a specific resource type? If yes, this method returns its definition.@Nullable ResourceObjectTypeIdentification
Is this definition bound to a specific resource type? If yes, this method returns its identification.int
hashCode()
boolean
Returns `true` if there are really any refinements (i.e.boolean
instantiate
(@NotNull ItemName elementName) Creates aResourceAttributeContainer
instance with this definition as its complex type definition.static ResourceAttributeContainer
instantiate
(@NotNull QName elementName, @NotNull ResourceObjectClassDefinition objectClassDefinition) boolean
TODOboolean
Indicates whether definition is the default account definition.boolean
isDefaultFor
(@NotNull ShadowKindType kind) Returns true if this definition can be considered as a default for the specified kind.boolean
isRaw()
Returns `true` if this definition is a part of the raw schema.refined
(@NotNull ResourceObjectClassDefinition raw, @Nullable ResourceObjectTypeDefinitionType definitionBean) void
setAbstract
(boolean value) void
setAuxiliary
(boolean auxiliary) void
setCompileTimeClass
(Class<?> compileTimeClass) void
setContainerMarker
(boolean value) void
setDefaultAccountDefinition
(boolean value) void
setDefaultNamespace
(String namespace) void
setDeprecated
(boolean deprecated) void
void
setDisplayName
(String displayName) void
setDisplayOrder
(Integer displayOrder) void
setDocumentation
(String value) void
setEmphasized
(boolean emphasized) void
setExperimental
(boolean experimental) void
setExtensionForType
(QName type) void
void
setIgnoredNamespaces
(@NotNull List<String> ignoredNamespaces) void
setInstantiationOrder
(Integer order) void
setListMarker
(boolean value) void
setNamingAttributeName
(QName name) void
setNativeObjectClass
(String nativeObjectClass) void
setObjectMarker
(boolean value) void
setProcessing
(ItemProcessing processing) void
setReferenceMarker
(boolean value) void
setRemoved
(boolean removed) void
setRemovedSince
(String removedSince) void
setRuntimeSchema
(boolean value) void
setSuperType
(QName superType) void
setTypeName
(QName typeName) void
setXsdAnyMarker
(boolean value) substitution
(QName name) Returns an interface to mutate this definition.toString()
void
trimTo
(@NotNull Collection<ItemPath> paths) Trims the definition (and any definitions it refers to) to contain only items related to given paths.Methods inherited from class com.evolveum.midpoint.schema.processor.AbstractResourceObjectDefinitionImpl
add, canRepresent, copyDefinitionDataFrom, createBlankShadow, debugDump, debugDump, findAttributeDefinition, findItemDefinition, forLayerImmutable, forLayerMutable, getActivationSchemaHandling, getAnnotation, getAnnotations, getAssociationDefinitions, getAttributeDefinitions, getAuxiliaryDefinitions, getAuxiliaryObjectClassMappings, getBaseContext, getCompileTimeClass, getConfiguredAuxiliaryObjectClassNames, getCurrentLayer, getDefaultInboundMappingEvaluationPhases, getDefaultNamespace, getDefinitionBean, getDefinitions, getDelineation, getDeprecatedSince, getDescription, getDiagrams, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getExtensionForType, getHelp, getIgnoredNamespaces, getInstantiationOrder, getLifecycleState, getObjectMultiplicity, getPlannedRemoval, getPrimaryIdentifiers, getPrimaryIdentifiersNames, getPrismContext, getPrismObjectDefinition, getProcessing, getProjectionPolicy, getProtectedObjectPatterns, getRemovedSince, getSchemaMigrations, getSearchHierarchyScope, getSecondaryIdentifiers, getSecondaryIdentifiersNames, getStaticSubTypes, getSuperType, getTypeClass, getTypeName, getVolatility, hasAuxiliaryObjectClass, isAbstract, isContainerMarker, isDeprecated, isElaborate, isEmphasized, isEmpty, isExperimental, isListMarker, isObjectMarker, isReferenceMarker, isRemoved, isRuntimeSchema, isXsdAnyMarker, merge, performFreeze, replaceDefinition, revive, setAnnotation, setDisplayNameAttributeName, validate
Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
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, propertyToAttribute
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getDefaultNamespace, getDefinitions, getExtensionForType, getIgnoredNamespaces, getXmlAttributeDefinitions, hasOperationalOnlyItems, hasSubstitutions, isContainerMarker, isEmpty, isItemDefinitionRemoved, isListMarker, isObjectMarker, isReferenceMarker, isStrictAnyMarker, isXsdAnyMarker, itemOrSubstitution, merge
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, getRemovedSince, getSchemaMigrations, getSchemaRegistry, getTypeClass, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, 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.MutableComplexTypeDefinition
replaceDefinition, setAttributeDefinitions, setStrictAnyMarker
Methods inherited from interface com.evolveum.midpoint.schema.processor.MutableResourceObjectClassDefinition
add, createAttributeDefinition, setDisplayNameAttributeName
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
Methods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectClassDefinition
createShadowSearchQuery
Methods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectDefinition
createBlankShadow, forLayerImmutable, forLayerMutable, getActivationBidirectionalMappingType, getActivationFetchStrategy, getActivationSchemaHandling, getAuxiliaryDefinitions, getAuxiliaryObjectClassMappings, getBaseContext, getConfiguredAuxiliaryObjectClassNames, getDefaultInboundMappingEvaluationPhases, getDefinitionBean, getDelineation, getDescription, getDescriptionAttribute, getDisplayNameAttribute, getLifecycleState, getNamingAttribute, getObjectMultiplicity, getPasswordFetchStrategy, getPasswordInbound, getPasswordOutbound, getPrismObjectDefinition, getProjectionPolicy, getProtectedObjectPatterns, getSearchHierarchyScope, getVolatility, hasAuxiliaryObjectClass, matchesObjectClassName, replaceDefinition, replaceDefinition, toResourceAttributeContainerDefinition, toResourceAttributeContainerDefinition, validate
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, isAssignableFrom
-
Method Details
-
raw
-
refined
public static ResourceObjectClassDefinitionImpl refined(@NotNull @NotNull ResourceObjectClassDefinition raw, @Nullable @Nullable ResourceObjectTypeDefinitionType definitionBean) throws ConfigurationException - Throws:
ConfigurationException
-
getObjectClassName
Description copied from interface:ResourceObjectDefinition
Returns the name of the object class.- Specified by:
getObjectClassName
in interfaceResourceObjectDefinition
-
getObjectClassDefinition
Description copied from interface:ResourceObjectDefinition
Returns 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:
getObjectClassDefinition
in interfaceResourceObjectDefinition
-
getRawObjectClassDefinition
Description copied from interface:ResourceObjectDefinition
Returns the raw object class definition.- Specified by:
getRawObjectClassDefinition
in interfaceResourceObjectDefinition
-
delete
- Specified by:
delete
in interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
- Specified by:
createPropertyDefinition
in interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
- Specified by:
createPropertyDefinition
in interfaceMutableComplexTypeDefinition
-
addPrimaryIdentifierName
- Specified by:
addPrimaryIdentifierName
in interfaceMutableResourceObjectClassDefinition
-
addSecondaryIdentifierName
- Specified by:
addSecondaryIdentifierName
in interfaceMutableResourceObjectClassDefinition
-
getDescriptionAttributeName
Description copied from interface:ResourceObjectDefinition
Returns name of the description attribute.- Specified by:
getDescriptionAttributeName
in interfaceResourceObjectDefinition
- See Also:
-
setDescriptionAttributeName
- Specified by:
setDescriptionAttributeName
in interfaceMutableResourceObjectClassDefinition
-
getNamingAttributeName
Description copied from interface:ResourceObjectDefinition
Returns name of the naming attribute.- Specified by:
getNamingAttributeName
in interfaceResourceObjectDefinition
- See Also:
-
setNamingAttributeName
- Specified by:
setNamingAttributeName
in interfaceMutableResourceObjectClassDefinition
-
getDisplayNameAttributeName
Description copied from interface:ResourceObjectDefinition
Returns name of the display name attribute.- Specified by:
getDisplayNameAttributeName
in interfaceResourceObjectDefinition
- See Also:
-
getNativeObjectClass
Description copied from interface:ResourceObjectClassDefinition
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.- Specified by:
getNativeObjectClass
in interfaceResourceObjectClassDefinition
- Returns:
- native object class
-
setNativeObjectClass
- Specified by:
setNativeObjectClass
in interfaceMutableResourceObjectClassDefinition
-
isAuxiliary
public boolean isAuxiliary()Description copied from interface:ResourceObjectClassDefinition
TODO- Specified by:
isAuxiliary
in interfaceResourceObjectClassDefinition
-
setAuxiliary
public void setAuxiliary(boolean auxiliary) - Specified by:
setAuxiliary
in interfaceMutableResourceObjectClassDefinition
-
isDefaultAccountDefinition
public boolean isDefaultAccountDefinition()Description copied from interface:ResourceObjectClassDefinition
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.- Specified by:
isDefaultAccountDefinition
in interfaceResourceObjectClassDefinition
-
setDefaultAccountDefinition
public void setDefaultAccountDefinition(boolean value) - Specified by:
setDefaultAccountDefinition
in interfaceMutableResourceObjectClassDefinition
-
createAttributeDefinition
public <T> ResourceAttributeDefinition<T> createAttributeDefinition(@NotNull @NotNull QName name, @NotNull @NotNull QName typeName, @NotNull @NotNull Consumer<MutableRawResourceAttributeDefinition<?>> consumer) Description copied from interface:MutableResourceObjectClassDefinition
Returned value is immutable.- Specified by:
createAttributeDefinition
in interfaceMutableResourceObjectClassDefinition
-
instantiate
Description copied from interface:ResourceObjectDefinition
Creates aResourceAttributeContainer
instance with this definition as its complex type definition.- Specified by:
instantiate
in interfaceResourceObjectClassDefinition
- Specified by:
instantiate
in interfaceResourceObjectDefinition
-
instantiate
public static ResourceAttributeContainer instantiate(@NotNull @NotNull QName elementName, @NotNull @NotNull ResourceObjectClassDefinition objectClassDefinition) -
accept
- Specified by:
accept
in interfaceVisitable<Definition>
- Overrides:
accept
in classAbstractResourceObjectDefinitionImpl
-
accept
- Specified by:
accept
in interfaceSmartVisitable<Definition>
- Overrides:
accept
in classAbstractResourceObjectDefinitionImpl
- Returns:
- false if we already was here
-
trimTo
Description copied from interface:ComplexTypeDefinition
Trims the definition (and any definitions it refers to) to contain only items related to given paths. USE WITH CARE. Be sure no shared definitions would be affected by this operation!- Specified by:
trimTo
in interfaceComplexTypeDefinition
- Overrides:
trimTo
in classAbstractResourceObjectDefinitionImpl
-
clone
Description copied from interface:ResourceObjectDefinition
Returns a mutable definition. BEWARE, the mutableCompositeObjectDefinition
is significantly slower than its immutable counterpart. See MID-9156.- Specified by:
clone
in interfaceComplexTypeDefinition
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceMutableComplexTypeDefinition
- Specified by:
clone
in interfaceResourceObjectClassDefinition
- Specified by:
clone
in interfaceResourceObjectDefinition
- Specified by:
clone
in classAbstractResourceObjectDefinitionImpl
-
cloneInLayer
@NotNull protected @NotNull ResourceObjectClassDefinitionImpl cloneInLayer(@NotNull @NotNull LayerType layer) Description copied from class:AbstractResourceObjectDefinitionImpl
Returns mutable copy.- Specified by:
cloneInLayer
in classAbstractResourceObjectDefinitionImpl
-
setExtensionForType
- Specified by:
setExtensionForType
in interfaceMutableComplexTypeDefinition
-
setAbstract
public void setAbstract(boolean value) - Specified by:
setAbstract
in interfaceMutableComplexTypeDefinition
-
setSuperType
- Specified by:
setSuperType
in interfaceMutableComplexTypeDefinition
-
setObjectMarker
public void setObjectMarker(boolean value) - Specified by:
setObjectMarker
in interfaceMutableComplexTypeDefinition
-
setContainerMarker
public void setContainerMarker(boolean value) - Specified by:
setContainerMarker
in interfaceMutableComplexTypeDefinition
-
setReferenceMarker
public void setReferenceMarker(boolean value) - Specified by:
setReferenceMarker
in interfaceMutableComplexTypeDefinition
-
setDefaultNamespace
- Specified by:
setDefaultNamespace
in interfaceMutableComplexTypeDefinition
-
setIgnoredNamespaces
- Specified by:
setIgnoredNamespaces
in interfaceMutableComplexTypeDefinition
-
setXsdAnyMarker
public void setXsdAnyMarker(boolean value) - Specified by:
setXsdAnyMarker
in interfaceMutableComplexTypeDefinition
-
setListMarker
public void setListMarker(boolean value) - Specified by:
setListMarker
in interfaceMutableComplexTypeDefinition
-
setCompileTimeClass
- Specified by:
setCompileTimeClass
in interfaceMutableComplexTypeDefinition
-
addSubstitution
- Specified by:
addSubstitution
in interfaceMutableComplexTypeDefinition
-
setProcessing
- Specified by:
setProcessing
in interfaceMutableDefinition
-
setDeprecated
public void setDeprecated(boolean deprecated) - Specified by:
setDeprecated
in interfaceMutableDefinition
-
setRemoved
public void setRemoved(boolean removed) - Specified by:
setRemoved
in interfaceMutableDefinition
-
setRemovedSince
- Specified by:
setRemovedSince
in interfaceMutableDefinition
-
setExperimental
public void setExperimental(boolean experimental) - Specified by:
setExperimental
in interfaceMutableDefinition
-
setEmphasized
public void setEmphasized(boolean emphasized) - Specified by:
setEmphasized
in interfaceMutableDefinition
-
setDisplayName
- Specified by:
setDisplayName
in interfaceMutableDefinition
-
setDisplayOrder
- Specified by:
setDisplayOrder
in interfaceMutableDefinition
-
setHelp
- Specified by:
setHelp
in interfaceMutableDefinition
-
setRuntimeSchema
public void setRuntimeSchema(boolean value) - Specified by:
setRuntimeSchema
in interfaceMutableDefinition
-
setTypeName
- Specified by:
setTypeName
in interfaceMutableDefinition
-
setDocumentation
- Specified by:
setDocumentation
in interfaceMutableDefinition
-
addSchemaMigration
- Specified by:
addSchemaMigration
in interfaceMutableDefinition
-
addDiagram
- Specified by:
addDiagram
in interfaceMutableDefinition
-
setInstantiationOrder
- Specified by:
setInstantiationOrder
in interfaceMutableTypeDefinition
-
deepClone
@NotNull public @NotNull ResourceObjectClassDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation) Description copied from interface:ResourceObjectDefinition
Returns a mutable definition. BEWARE, the mutableCompositeObjectDefinition
is significantly slower than its immutable counterpart. See MID-9156.- Specified by:
deepClone
in interfaceComplexTypeDefinition
- Specified by:
deepClone
in interfaceResourceObjectClassDefinition
- Specified by:
deepClone
in interfaceResourceObjectDefinition
-
getSecurityPolicyRef
- Specified by:
getSecurityPolicyRef
in interfaceResourceObjectDefinition
- Overrides:
getSecurityPolicyRef
in classAbstractResourceObjectDefinitionImpl
- See Also:
-
isRaw
public boolean isRaw()Description copied from interface:ResourceObjectClassDefinition
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 alsoResourceObjectClassDefinition.hasRefinements()
.- Specified by:
isRaw
in interfaceResourceObjectClassDefinition
-
hasRefinements
public boolean hasRefinements()Description copied from interface:ResourceObjectClassDefinition
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).- Specified by:
hasRefinements
in interfaceResourceObjectClassDefinition
-
hasSubstitutions
public boolean hasSubstitutions()- Specified by:
hasSubstitutions
in interfaceComplexTypeDefinition
-
substitution
- Specified by:
substitution
in interfaceComplexTypeDefinition
-
copyDefinitionDataFrom
protected void copyDefinitionDataFrom(@NotNull @NotNull LayerType layer, ResourceObjectClassDefinition source) -
equals
- Overrides:
equals
in classAbstractResourceObjectDefinitionImpl
-
hashCode
public int hashCode()- Overrides:
hashCode
in classAbstractResourceObjectDefinitionImpl
-
toMutable
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
toMutable
in interfaceComplexTypeDefinition
- Specified by:
toMutable
in interfaceDefinition
- Specified by:
toMutable
in interfaceResourceObjectClassDefinition
-
getPasswordDefinition
Description copied from interface:ResourceObjectDefinition
- Specified by:
getPasswordDefinition
in interfaceResourceObjectDefinition
- Overrides:
getPasswordDefinition
in classAbstractResourceObjectDefinitionImpl
-
getEnabledCapability
public <T extends CapabilityType> T getEnabledCapability(@NotNull @NotNull Class<T> capabilityClass, ResourceType resource) Description copied from interface:ResourceObjectDefinition
Checks 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:
getEnabledCapability
in interfaceResourceObjectDefinition
- Overrides:
getEnabledCapability
in classAbstractResourceObjectDefinitionImpl
-
getHumanReadableName
Description copied from interface:ResourceObjectDefinition
TODO- Specified by:
getHumanReadableName
in interfaceResourceObjectDefinition
-
toString
-
getDebugDumpClassName
Description copied from interface:ResourceObjectDefinition
Return a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassName
in interfaceResourceObjectDefinition
-
addDebugDumpHeaderExtension
- Overrides:
addDebugDumpHeaderExtension
in classAbstractResourceObjectDefinitionImpl
-
addDebugDumpTrailer
- Overrides:
addDebugDumpTrailer
in classAbstractResourceObjectDefinitionImpl
-
getResourceOid
Description copied from interface:ResourceObjectDefinition
This is currently used only to pass information about association in the model-impl TODO consider removal!- Specified by:
getResourceOid
in interfaceResourceObjectDefinition
-
getTypeIdentification
Description copied from interface:ResourceObjectDefinition
Is this definition bound to a specific resource type? If yes, this method returns its identification.- Specified by:
getTypeIdentification
in interfaceResourceObjectDefinition
-
getTypeDefinition
Description copied from interface:ResourceObjectDefinition
Is this definition bound to a specific resource type? If yes, this method returns its definition.- Specified by:
getTypeDefinition
in interfaceResourceObjectDefinition
-
isDefaultFor
Description copied from interface:ResourceObjectDefinition
Returns 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 ofResourceObjectClassDefinition
withResourceObjectClassDefinition.isDefaultAccountDefinition()
being `true`. It is considered to be the default forShadowKindType.ACCOUNT
. Use with care!- Specified by:
isDefaultFor
in interfaceResourceObjectDefinition
-