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 ofResourceObjectClassDefinition. TODO should we have subclasses for raw/refined variants? Maybe.- Author:
- semancik
- See Also:
- Serialized Form
-
-
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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor<Definition> visitor)booleanaccept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)protected voidaddDebugDumpHeaderExtension(StringBuilder sb)protected voidaddDebugDumpTrailer(StringBuilder sb, int indent)voidaddDiagram(ItemDiagramSpecification diagram)voidaddPrimaryIdentifierName(QName name)voidaddSchemaMigration(SchemaMigration schemaMigration)voidaddSecondaryIdentifierName(QName name)voidaddSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst)@NotNull ResourceObjectClassDefinitionImplclone()Does a shallow clone of this definition (i.e.protected ResourceObjectClassDefinitionImplcloneInLayer(@NotNull LayerType layer)protected voidcopyDefinitionDataFrom(@NotNull LayerType layer, ResourceObjectClassDefinition source)<T> ResourceAttributeDefinition<T>createAttributeDefinition(@NotNull QName name, @NotNull QName typeName, @NotNull Consumer<MutableRawResourceAttributeDefinition<?>> consumer)Returned value is immutable.MutablePrismPropertyDefinition<?>createPropertyDefinition(String name, QName typeName)MutablePrismPropertyDefinition<?>createPropertyDefinition(QName name, QName typeName)@NotNull ResourceObjectClassDefinitiondeepClone(@NotNull DeepCloneOperation operation)Does a deep clone of this definition.voiddelete(QName itemName)booleanequals(Object o)StringgetDebugDumpClassName()Return a human readable name of this class suitable for logs.@Nullable QNamegetDescriptionAttributeName()Returns name of the description attribute.@Nullable QNamegetDisplayNameAttributeName()Returns name of the display name attribute.<T extends CapabilityType>
TgetEnabledCapability(@NotNull Class<T> capabilityClass, ResourceType resource)Checks the presence of capability in: 1.StringgetHumanReadableName()TODO@Nullable QNamegetNamingAttributeName()Returns name of the naming attribute.StringgetNativeObjectClass()Returns the native object class name.@NotNull ResourceObjectClassDefinitiongetObjectClassDefinition()Returns the (raw or refined) object class definition.@NotNull QNamegetObjectClassName()Returns the name of the object class.@Nullable ResourcePasswordDefinitionTypegetPasswordDefinition()@NotNull ResourceObjectClassDefinitiongetRawObjectClassDefinition()Returns the raw object class definition.StringgetResourceOid()This is currently used only to pass information about association in the model-impl TODO consider removal!ObjectReferenceTypegetSecurityPolicyRef()@Nullable ResourceObjectTypeDefinitiongetTypeDefinition()Is this definition bound to a specific resource type? If yes, this method returns its definition.@Nullable ResourceObjectTypeIdentificationgetTypeIdentification()Is this definition bound to a specific resource type? If yes, this method returns its identification.inthashCode()booleanhasRefinements()Returns `true` if there are really any refinements (i.e.booleanhasSubstitutions()ResourceAttributeContainerinstantiate(@NotNull ItemName elementName)Creates aResourceAttributeContainerinstance with this definition as its complex type definition.static ResourceAttributeContainerinstantiate(@NotNull QName elementName, @NotNull ResourceObjectClassDefinition objectClassDefinition)booleanisAuxiliary()TODObooleanisDefaultAccountDefinition()Indicates whether definition is the default account definition.booleanisDefaultFor(@NotNull ShadowKindType kind)Returns true if this definition can be considered as a default for the specified kind.booleanisRaw()Returns `true` if this definition is a part of the raw schema.static ResourceObjectClassDefinitionImplraw(@NotNull QName objectClassName)static ResourceObjectClassDefinitionImplrefined(@NotNull ResourceObjectClassDefinition raw, @Nullable ResourceObjectTypeDefinitionType definitionBean)voidsetAbstract(boolean value)voidsetAuxiliary(boolean auxiliary)voidsetCompileTimeClass(Class<?> compileTimeClass)voidsetContainerMarker(boolean value)voidsetDefaultAccountDefinition(boolean value)voidsetDefaultNamespace(String namespace)voidsetDeprecated(boolean deprecated)voidsetDescriptionAttributeName(QName name)voidsetDisplayName(String displayName)voidsetDisplayOrder(Integer displayOrder)voidsetDocumentation(String value)voidsetEmphasized(boolean emphasized)voidsetExperimental(boolean experimental)voidsetExtensionForType(QName type)voidsetHelp(String help)voidsetIgnoredNamespaces(@NotNull List<String> ignoredNamespaces)voidsetInstantiationOrder(Integer order)voidsetListMarker(boolean value)voidsetNamingAttributeName(QName name)voidsetNativeObjectClass(String nativeObjectClass)voidsetObjectMarker(boolean value)voidsetProcessing(ItemProcessing processing)voidsetReferenceMarker(boolean value)voidsetRuntimeSchema(boolean value)voidsetSuperType(QName superType)voidsetTypeName(QName typeName)voidsetXsdAnyMarker(boolean value)Optional<ItemDefinition<?>>substitution(QName name)MutableResourceObjectClassDefinitiontoMutable()Returns an interface to mutate this definition.StringtoString()voidtrimTo(@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, findItemDefinition, forLayer, 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, getSchemaMigrations, getSearchHierarchyScope, getSecondaryIdentifiers, getSecondaryIdentifiersNames, getStaticSubTypes, getSuperType, getTypeClass, getTypeName, getVolatility, hasAuxiliaryObjectClass, isAbstract, isContainerMarker, isDeprecated, isElaborate, isEmphasized, isEmpty, isExperimental, isListMarker, isObjectMarker, isReferenceMarker, 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
-
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, 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.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, forLayer, 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 Detail
-
raw
public static ResourceObjectClassDefinitionImpl raw(@NotNull @NotNull QName objectClassName)
-
refined
public static ResourceObjectClassDefinitionImpl refined(@NotNull @NotNull ResourceObjectClassDefinition raw, @Nullable @Nullable ResourceObjectTypeDefinitionType definitionBean) throws ConfigurationException
- Throws:
ConfigurationException
-
getObjectClassName
@NotNull public @NotNull QName getObjectClassName()
Description copied from interface:ResourceObjectDefinitionReturns the name of the object class.- Specified by:
getObjectClassNamein interfaceResourceObjectDefinition
-
getObjectClassDefinition
@NotNull public @NotNull ResourceObjectClassDefinition 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
-
getRawObjectClassDefinition
@NotNull public @NotNull ResourceObjectClassDefinition getRawObjectClassDefinition()
Description copied from interface:ResourceObjectDefinitionReturns the raw object class definition.- Specified by:
getRawObjectClassDefinitionin interfaceResourceObjectDefinition
-
delete
public void delete(QName itemName)
- Specified by:
deletein interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
public MutablePrismPropertyDefinition<?> createPropertyDefinition(QName name, QName typeName)
- Specified by:
createPropertyDefinitionin interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
public MutablePrismPropertyDefinition<?> createPropertyDefinition(String name, QName typeName)
- Specified by:
createPropertyDefinitionin interfaceMutableComplexTypeDefinition
-
addPrimaryIdentifierName
public void addPrimaryIdentifierName(QName name)
- Specified by:
addPrimaryIdentifierNamein interfaceMutableResourceObjectClassDefinition
-
addSecondaryIdentifierName
public void addSecondaryIdentifierName(QName name)
- Specified by:
addSecondaryIdentifierNamein interfaceMutableResourceObjectClassDefinition
-
getDescriptionAttributeName
@Nullable public @Nullable QName getDescriptionAttributeName()
Description copied from interface:ResourceObjectDefinitionReturns name of the description attribute.- Specified by:
getDescriptionAttributeNamein interfaceResourceObjectDefinition- See Also:
ResourceObjectDefinition.getDescriptionAttribute()
-
setDescriptionAttributeName
public void setDescriptionAttributeName(QName name)
- Specified by:
setDescriptionAttributeNamein interfaceMutableResourceObjectClassDefinition
-
getNamingAttributeName
@Nullable public @Nullable QName getNamingAttributeName()
Description copied from interface:ResourceObjectDefinitionReturns name of the naming attribute.- Specified by:
getNamingAttributeNamein interfaceResourceObjectDefinition- See Also:
ResourceObjectDefinition.getNamingAttributeName()
-
setNamingAttributeName
public void setNamingAttributeName(QName name)
- Specified by:
setNamingAttributeNamein interfaceMutableResourceObjectClassDefinition
-
getDisplayNameAttributeName
@Nullable public @Nullable QName getDisplayNameAttributeName()
Description copied from interface:ResourceObjectDefinitionReturns name of the display name attribute.- Specified by:
getDisplayNameAttributeNamein interfaceResourceObjectDefinition- See Also:
ResourceObjectDefinition.getDisplayNameAttribute()
-
getNativeObjectClass
public String getNativeObjectClass()
Description copied from interface:ResourceObjectClassDefinitionReturns 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:
getNativeObjectClassin interfaceResourceObjectClassDefinition- Returns:
- native object class
-
setNativeObjectClass
public void setNativeObjectClass(String nativeObjectClass)
- Specified by:
setNativeObjectClassin interfaceMutableResourceObjectClassDefinition
-
isAuxiliary
public boolean isAuxiliary()
Description copied from interface:ResourceObjectClassDefinitionTODO- Specified by:
isAuxiliaryin interfaceResourceObjectClassDefinition
-
setAuxiliary
public void setAuxiliary(boolean auxiliary)
- Specified by:
setAuxiliaryin interfaceMutableResourceObjectClassDefinition
-
isDefaultAccountDefinition
public boolean isDefaultAccountDefinition()
Description copied from interface:ResourceObjectClassDefinitionIndicates 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:
isDefaultAccountDefinitionin interfaceResourceObjectClassDefinition
-
setDefaultAccountDefinition
public void setDefaultAccountDefinition(boolean value)
- Specified by:
setDefaultAccountDefinitionin interfaceMutableResourceObjectClassDefinition
-
createAttributeDefinition
public <T> ResourceAttributeDefinition<T> createAttributeDefinition(@NotNull @NotNull QName name, @NotNull @NotNull QName typeName, @NotNull @NotNull Consumer<MutableRawResourceAttributeDefinition<?>> consumer)
Description copied from interface:MutableResourceObjectClassDefinitionReturned value is immutable.- Specified by:
createAttributeDefinitionin interfaceMutableResourceObjectClassDefinition
-
instantiate
public ResourceAttributeContainer instantiate(@NotNull @NotNull ItemName elementName)
Description copied from interface:ResourceObjectDefinitionCreates aResourceAttributeContainerinstance with this definition as its complex type definition.- Specified by:
instantiatein interfaceResourceObjectClassDefinition- Specified by:
instantiatein interfaceResourceObjectDefinition
-
instantiate
public static ResourceAttributeContainer instantiate(@NotNull @NotNull QName elementName, @NotNull @NotNull ResourceObjectClassDefinition objectClassDefinition)
-
accept
public void accept(Visitor<Definition> visitor)
- Specified by:
acceptin interfaceVisitable<Definition>- Overrides:
acceptin classAbstractResourceObjectDefinitionImpl
-
accept
public boolean accept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)
- Specified by:
acceptin interfaceSmartVisitable<Definition>- Overrides:
acceptin classAbstractResourceObjectDefinitionImpl- Returns:
- false if we already was here
-
trimTo
public void trimTo(@NotNull @NotNull Collection<ItemPath> paths)Description copied from interface:ComplexTypeDefinitionTrims 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:
trimToin interfaceComplexTypeDefinition- Overrides:
trimToin classAbstractResourceObjectDefinitionImpl
-
clone
@NotNull public @NotNull ResourceObjectClassDefinitionImpl clone()
Description copied from interface:ComplexTypeDefinitionDoes a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).- Specified by:
clonein interfaceComplexTypeDefinition- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceMutableComplexTypeDefinition- Specified by:
clonein interfaceResourceObjectClassDefinition- Specified by:
clonein interfaceResourceObjectDefinition- Specified by:
clonein classAbstractResourceObjectDefinitionImpl
-
cloneInLayer
protected ResourceObjectClassDefinitionImpl cloneInLayer(@NotNull @NotNull LayerType layer)
- Specified by:
cloneInLayerin classAbstractResourceObjectDefinitionImpl
-
setExtensionForType
public void setExtensionForType(QName type)
- Specified by:
setExtensionForTypein interfaceMutableComplexTypeDefinition
-
setAbstract
public void setAbstract(boolean value)
- Specified by:
setAbstractin interfaceMutableComplexTypeDefinition
-
setSuperType
public void setSuperType(QName superType)
- Specified by:
setSuperTypein interfaceMutableComplexTypeDefinition
-
setObjectMarker
public void setObjectMarker(boolean value)
- Specified by:
setObjectMarkerin interfaceMutableComplexTypeDefinition
-
setContainerMarker
public void setContainerMarker(boolean value)
- Specified by:
setContainerMarkerin interfaceMutableComplexTypeDefinition
-
setReferenceMarker
public void setReferenceMarker(boolean value)
- Specified by:
setReferenceMarkerin interfaceMutableComplexTypeDefinition
-
setDefaultNamespace
public void setDefaultNamespace(String namespace)
- Specified by:
setDefaultNamespacein interfaceMutableComplexTypeDefinition
-
setIgnoredNamespaces
public void setIgnoredNamespaces(@NotNull @NotNull List<String> ignoredNamespaces)- Specified by:
setIgnoredNamespacesin interfaceMutableComplexTypeDefinition
-
setXsdAnyMarker
public void setXsdAnyMarker(boolean value)
- Specified by:
setXsdAnyMarkerin interfaceMutableComplexTypeDefinition
-
setListMarker
public void setListMarker(boolean value)
- Specified by:
setListMarkerin interfaceMutableComplexTypeDefinition
-
setCompileTimeClass
public void setCompileTimeClass(Class<?> compileTimeClass)
- Specified by:
setCompileTimeClassin interfaceMutableComplexTypeDefinition
-
addSubstitution
public void addSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst)
- Specified by:
addSubstitutionin interfaceMutableComplexTypeDefinition
-
setProcessing
public void setProcessing(ItemProcessing processing)
- Specified by:
setProcessingin interfaceMutableDefinition
-
setDeprecated
public void setDeprecated(boolean deprecated)
- Specified by:
setDeprecatedin interfaceMutableDefinition
-
setExperimental
public void setExperimental(boolean experimental)
- Specified by:
setExperimentalin interfaceMutableDefinition
-
setEmphasized
public void setEmphasized(boolean emphasized)
- Specified by:
setEmphasizedin interfaceMutableDefinition
-
setDisplayName
public void setDisplayName(String displayName)
- Specified by:
setDisplayNamein interfaceMutableDefinition
-
setDisplayOrder
public void setDisplayOrder(Integer displayOrder)
- Specified by:
setDisplayOrderin interfaceMutableDefinition
-
setHelp
public void setHelp(String help)
- Specified by:
setHelpin interfaceMutableDefinition
-
setRuntimeSchema
public void setRuntimeSchema(boolean value)
- Specified by:
setRuntimeSchemain interfaceMutableDefinition
-
setTypeName
public void setTypeName(QName typeName)
- Specified by:
setTypeNamein interfaceMutableDefinition
-
setDocumentation
public void setDocumentation(String value)
- Specified by:
setDocumentationin interfaceMutableDefinition
-
addSchemaMigration
public void addSchemaMigration(SchemaMigration schemaMigration)
- Specified by:
addSchemaMigrationin interfaceMutableDefinition
-
addDiagram
public void addDiagram(ItemDiagramSpecification diagram)
- Specified by:
addDiagramin interfaceMutableDefinition
-
setInstantiationOrder
public void setInstantiationOrder(Integer order)
- Specified by:
setInstantiationOrderin interfaceMutableTypeDefinition
-
deepClone
@NotNull public @NotNull ResourceObjectClassDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation)
Description copied from interface:ComplexTypeDefinitionDoes a deep clone of this definition.- Specified by:
deepClonein interfaceComplexTypeDefinition- Specified by:
deepClonein interfaceResourceObjectClassDefinition- Specified by:
deepClonein interfaceResourceObjectDefinition
-
getSecurityPolicyRef
public ObjectReferenceType getSecurityPolicyRef()
- Specified by:
getSecurityPolicyRefin interfaceResourceObjectDefinition- Overrides:
getSecurityPolicyRefin classAbstractResourceObjectDefinitionImpl- See Also:
ResourceObjectTypeDefinitionType.getSecurityPolicyRef()
-
isRaw
public boolean isRaw()
Description copied from interface:ResourceObjectClassDefinitionReturns `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:
isRawin interfaceResourceObjectClassDefinition
-
hasRefinements
public boolean hasRefinements()
Description copied from interface:ResourceObjectClassDefinitionReturns `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:
hasRefinementsin interfaceResourceObjectClassDefinition
-
hasSubstitutions
public boolean hasSubstitutions()
- Specified by:
hasSubstitutionsin interfaceComplexTypeDefinition
-
substitution
public Optional<ItemDefinition<?>> substitution(QName name)
- Specified by:
substitutionin interfaceComplexTypeDefinition
-
copyDefinitionDataFrom
protected void copyDefinitionDataFrom(@NotNull @NotNull LayerType layer, ResourceObjectClassDefinition source)
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classAbstractResourceObjectDefinitionImpl
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractResourceObjectDefinitionImpl
-
toMutable
public MutableResourceObjectClassDefinition toMutable()
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
toMutablein interfaceComplexTypeDefinition- Specified by:
toMutablein interfaceDefinition- Specified by:
toMutablein interfaceResourceObjectClassDefinition
-
getPasswordDefinition
@Nullable public @Nullable ResourcePasswordDefinitionType getPasswordDefinition()
Description copied from interface:ResourceObjectDefinition- Specified by:
getPasswordDefinitionin interfaceResourceObjectDefinition- Overrides:
getPasswordDefinitionin classAbstractResourceObjectDefinitionImpl
-
getEnabledCapability
public <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- Overrides:
getEnabledCapabilityin classAbstractResourceObjectDefinitionImpl
-
getHumanReadableName
public String getHumanReadableName()
Description copied from interface:ResourceObjectDefinitionTODO- Specified by:
getHumanReadableNamein interfaceResourceObjectDefinition
-
getDebugDumpClassName
public String getDebugDumpClassName()
Description copied from interface:ResourceObjectDefinitionReturn a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassNamein interfaceResourceObjectDefinition
-
addDebugDumpHeaderExtension
protected void addDebugDumpHeaderExtension(StringBuilder sb)
- Overrides:
addDebugDumpHeaderExtensionin classAbstractResourceObjectDefinitionImpl
-
addDebugDumpTrailer
protected void addDebugDumpTrailer(StringBuilder sb, int indent)
- Overrides:
addDebugDumpTrailerin classAbstractResourceObjectDefinitionImpl
-
getResourceOid
public String 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
-
getTypeIdentification
@Nullable public @Nullable ResourceObjectTypeIdentification 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
@Nullable public @Nullable ResourceObjectTypeDefinition 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
public boolean isDefaultFor(@NotNull @NotNull ShadowKindType kind)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
-
-