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 void
accept(Visitor<Definition> visitor)
boolean
accept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)
protected void
addDebugDumpHeaderExtension(StringBuilder sb)
protected void
addDebugDumpTrailer(StringBuilder sb, int indent)
void
addDiagram(ItemDiagramSpecification diagram)
void
addPrimaryIdentifierName(QName name)
void
addSchemaMigration(SchemaMigration schemaMigration)
void
addSecondaryIdentifierName(QName name)
void
addSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst)
@NotNull ResourceObjectClassDefinitionImpl
clone()
Does a shallow clone of this definition (i.e.protected ResourceObjectClassDefinitionImpl
cloneInLayer(@NotNull LayerType layer)
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.MutablePrismPropertyDefinition<?>
createPropertyDefinition(String name, QName typeName)
MutablePrismPropertyDefinition<?>
createPropertyDefinition(QName name, QName typeName)
@NotNull ResourceObjectClassDefinition
deepClone(@NotNull DeepCloneOperation operation)
Does a deep clone of this definition.void
delete(QName itemName)
boolean
equals(Object o)
String
getDebugDumpClassName()
Return a human readable name of this class suitable for logs.@Nullable QName
getDescriptionAttributeName()
Returns name of the description attribute.@Nullable QName
getDisplayNameAttributeName()
Returns name of the display name attribute.<T extends CapabilityType>
TgetEnabledCapability(@NotNull Class<T> capabilityClass, ResourceType resource)
Checks the presence of capability in: 1.String
getHumanReadableName()
TODO@Nullable QName
getNamingAttributeName()
Returns name of the naming attribute.String
getNativeObjectClass()
Returns the native object class name.@NotNull ResourceObjectClassDefinition
getObjectClassDefinition()
Returns the (raw or refined) object class definition.@NotNull QName
getObjectClassName()
Returns the name of the object class.@Nullable ResourcePasswordDefinitionType
getPasswordDefinition()
@NotNull ResourceObjectClassDefinition
getRawObjectClassDefinition()
Returns the raw object class definition.String
getResourceOid()
This is currently used only to pass information about association in the model-impl TODO consider removal!ObjectReferenceType
getSecurityPolicyRef()
@Nullable ResourceObjectTypeDefinition
getTypeDefinition()
Is this definition bound to a specific resource type? If yes, this method returns its definition.@Nullable ResourceObjectTypeIdentification
getTypeIdentification()
Is this definition bound to a specific resource type? If yes, this method returns its identification.int
hashCode()
boolean
hasRefinements()
Returns `true` if there are really any refinements (i.e.boolean
hasSubstitutions()
ResourceAttributeContainer
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
isAuxiliary()
TODOboolean
isDefaultAccountDefinition()
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.static ResourceObjectClassDefinitionImpl
raw(@NotNull QName objectClassName)
static ResourceObjectClassDefinitionImpl
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
setDescriptionAttributeName(QName name)
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
setHelp(String help)
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
setRuntimeSchema(boolean value)
void
setSuperType(QName superType)
void
setTypeName(QName typeName)
void
setXsdAnyMarker(boolean value)
Optional<ItemDefinition<?>>
substitution(QName name)
MutableResourceObjectClassDefinition
toMutable()
Returns an interface to mutate this definition.String
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, 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, 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, propertyToAttribute
-
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getDefaultNamespace, getDefinitions, getExtensionForType, getIgnoredNamespaces, getXmlAttributeDefinitions, 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, 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, getNamingAttribute, getObjectMultiplicity, getPagedSearches, getPasswordFetchStrategy, getPasswordInbound, getPasswordOutbound, getPrismObjectDefinition, getProjectionPolicy, getProtectedObjectPatterns, getSearchHierarchyScope, getVolatility, hasAuxiliaryObjectClass, isObjectCountingEnabled, isPagedSearchEnabled, 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:ResourceObjectDefinition
Returns the name of the object class.- Specified by:
getObjectClassName
in interfaceResourceObjectDefinition
-
getObjectClassDefinition
@NotNull public @NotNull ResourceObjectClassDefinition 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
@NotNull public @NotNull ResourceObjectClassDefinition getRawObjectClassDefinition()
Description copied from interface:ResourceObjectDefinition
Returns the raw object class definition.- Specified by:
getRawObjectClassDefinition
in interfaceResourceObjectDefinition
-
delete
public void delete(QName itemName)
- Specified by:
delete
in interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
public MutablePrismPropertyDefinition<?> createPropertyDefinition(QName name, QName typeName)
- Specified by:
createPropertyDefinition
in interfaceMutableComplexTypeDefinition
-
createPropertyDefinition
public MutablePrismPropertyDefinition<?> createPropertyDefinition(String name, QName typeName)
- Specified by:
createPropertyDefinition
in interfaceMutableComplexTypeDefinition
-
addPrimaryIdentifierName
public void addPrimaryIdentifierName(QName name)
- Specified by:
addPrimaryIdentifierName
in interfaceMutableResourceObjectClassDefinition
-
addSecondaryIdentifierName
public void addSecondaryIdentifierName(QName name)
- Specified by:
addSecondaryIdentifierName
in interfaceMutableResourceObjectClassDefinition
-
getDescriptionAttributeName
@Nullable public @Nullable QName getDescriptionAttributeName()
Description copied from interface:ResourceObjectDefinition
Returns name of the description attribute.- Specified by:
getDescriptionAttributeName
in interfaceResourceObjectDefinition
- See Also:
ResourceObjectDefinition.getDescriptionAttribute()
-
setDescriptionAttributeName
public void setDescriptionAttributeName(QName name)
- Specified by:
setDescriptionAttributeName
in interfaceMutableResourceObjectClassDefinition
-
getNamingAttributeName
@Nullable public @Nullable QName getNamingAttributeName()
Description copied from interface:ResourceObjectDefinition
Returns name of the naming attribute.- Specified by:
getNamingAttributeName
in interfaceResourceObjectDefinition
- See Also:
ResourceObjectDefinition.getNamingAttributeName()
-
setNamingAttributeName
public void setNamingAttributeName(QName name)
- Specified by:
setNamingAttributeName
in interfaceMutableResourceObjectClassDefinition
-
getDisplayNameAttributeName
@Nullable public @Nullable QName getDisplayNameAttributeName()
Description copied from interface:ResourceObjectDefinition
Returns name of the display name attribute.- Specified by:
getDisplayNameAttributeName
in interfaceResourceObjectDefinition
- See Also:
ResourceObjectDefinition.getDisplayNameAttribute()
-
getNativeObjectClass
public String 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
public void setNativeObjectClass(String nativeObjectClass)
- 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
public ResourceAttributeContainer instantiate(@NotNull @NotNull ItemName elementName)
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
public void accept(Visitor<Definition> visitor)
- Specified by:
accept
in interfaceVisitable<Definition>
- Overrides:
accept
in classAbstractResourceObjectDefinitionImpl
-
accept
public boolean accept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)
- Specified by:
accept
in interfaceSmartVisitable<Definition>
- Overrides:
accept
in classAbstractResourceObjectDefinitionImpl
- Returns:
- false if we already was here
-
trimTo
public void trimTo(@NotNull @NotNull Collection<ItemPath> paths)
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
@NotNull public @NotNull ResourceObjectClassDefinitionImpl 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 interfaceMutableComplexTypeDefinition
- Specified by:
clone
in interfaceResourceObjectClassDefinition
- Specified by:
clone
in interfaceResourceObjectDefinition
- Specified by:
clone
in classAbstractResourceObjectDefinitionImpl
-
cloneInLayer
protected ResourceObjectClassDefinitionImpl cloneInLayer(@NotNull @NotNull LayerType layer)
- Specified by:
cloneInLayer
in classAbstractResourceObjectDefinitionImpl
-
setExtensionForType
public void setExtensionForType(QName type)
- Specified by:
setExtensionForType
in interfaceMutableComplexTypeDefinition
-
setAbstract
public void setAbstract(boolean value)
- Specified by:
setAbstract
in interfaceMutableComplexTypeDefinition
-
setSuperType
public void setSuperType(QName superType)
- 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
public void setDefaultNamespace(String namespace)
- Specified by:
setDefaultNamespace
in interfaceMutableComplexTypeDefinition
-
setIgnoredNamespaces
public void setIgnoredNamespaces(@NotNull @NotNull List<String> ignoredNamespaces)
- 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
public void setCompileTimeClass(Class<?> compileTimeClass)
- Specified by:
setCompileTimeClass
in interfaceMutableComplexTypeDefinition
-
addSubstitution
public void addSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst)
- Specified by:
addSubstitution
in interfaceMutableComplexTypeDefinition
-
setProcessing
public void setProcessing(ItemProcessing processing)
- Specified by:
setProcessing
in interfaceMutableDefinition
-
setDeprecated
public void setDeprecated(boolean deprecated)
- Specified by:
setDeprecated
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
public void setDisplayName(String displayName)
- Specified by:
setDisplayName
in interfaceMutableDefinition
-
setDisplayOrder
public void setDisplayOrder(Integer displayOrder)
- Specified by:
setDisplayOrder
in interfaceMutableDefinition
-
setHelp
public void setHelp(String help)
- Specified by:
setHelp
in interfaceMutableDefinition
-
setRuntimeSchema
public void setRuntimeSchema(boolean value)
- Specified by:
setRuntimeSchema
in interfaceMutableDefinition
-
setTypeName
public void setTypeName(QName typeName)
- Specified by:
setTypeName
in interfaceMutableDefinition
-
setDocumentation
public void setDocumentation(String value)
- Specified by:
setDocumentation
in interfaceMutableDefinition
-
addSchemaMigration
public void addSchemaMigration(SchemaMigration schemaMigration)
- Specified by:
addSchemaMigration
in interfaceMutableDefinition
-
addDiagram
public void addDiagram(ItemDiagramSpecification diagram)
- Specified by:
addDiagram
in interfaceMutableDefinition
-
setInstantiationOrder
public void setInstantiationOrder(Integer order)
- Specified by:
setInstantiationOrder
in interfaceMutableTypeDefinition
-
deepClone
@NotNull public @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 interfaceResourceObjectClassDefinition
- Specified by:
deepClone
in interfaceResourceObjectDefinition
-
getSecurityPolicyRef
public ObjectReferenceType getSecurityPolicyRef()
- Specified by:
getSecurityPolicyRef
in interfaceResourceObjectDefinition
- Overrides:
getSecurityPolicyRef
in classAbstractResourceObjectDefinitionImpl
- See Also:
ResourceObjectTypeDefinitionType.getSecurityPolicyRef()
-
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
public Optional<ItemDefinition<?>> substitution(QName name)
- Specified by:
substitution
in interfaceComplexTypeDefinition
-
copyDefinitionDataFrom
protected void copyDefinitionDataFrom(@NotNull @NotNull LayerType layer, ResourceObjectClassDefinition source)
-
equals
public boolean equals(Object o)
- Overrides:
equals
in classAbstractResourceObjectDefinitionImpl
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAbstractResourceObjectDefinitionImpl
-
toMutable
public MutableResourceObjectClassDefinition 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
@Nullable public @Nullable ResourcePasswordDefinitionType 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
public String getHumanReadableName()
Description copied from interface:ResourceObjectDefinition
TODO- Specified by:
getHumanReadableName
in interfaceResourceObjectDefinition
-
getDebugDumpClassName
public String getDebugDumpClassName()
Description copied from interface:ResourceObjectDefinition
Return a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassName
in interfaceResourceObjectDefinition
-
addDebugDumpHeaderExtension
protected void addDebugDumpHeaderExtension(StringBuilder sb)
- Overrides:
addDebugDumpHeaderExtension
in classAbstractResourceObjectDefinitionImpl
-
addDebugDumpTrailer
protected void addDebugDumpTrailer(StringBuilder sb, int indent)
- Overrides:
addDebugDumpTrailer
in classAbstractResourceObjectDefinitionImpl
-
getResourceOid
public String 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
@Nullable public @Nullable ResourceObjectTypeIdentification 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
@Nullable public @Nullable ResourceObjectTypeDefinition 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
public boolean isDefaultFor(@NotNull @NotNull ShadowKindType kind)
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
-
-