Class ResourceAttributeContainerDefinitionImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.DefinitionImpl
com.evolveum.midpoint.prism.impl.ItemDefinitionImpl<PrismContainer<C>>
com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
com.evolveum.midpoint.schema.processor.ResourceAttributeContainerDefinitionImpl
- All Implemented Interfaces:
- Definition,- Freezable,- ItemDefinition<PrismContainer<ShadowAttributesType>>,- ItemDefinitionTestAccess,- LocalItemDefinitionStore,- MutableDefinition,- MutableItemDefinition<PrismContainer<ShadowAttributesType>>,- MutablePrismContainerDefinition<ShadowAttributesType>,- PrismContainerDefinition<ShadowAttributesType>,- PrismContextSensitive,- PrismItemAccessDefinition,- Revivable,- SmartVisitable<Definition>,- Visitable<Definition>,- ResourceAttributeContainerDefinition,- DebugDumpable,- Serializable,- Cloneable
public class ResourceAttributeContainerDefinitionImpl
extends com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
implements ResourceAttributeContainerDefinition
Resource Object Definition (Object Class).
 Object Class refers to a type of object on the Resource. Unix account, Active
 Directory group, inetOrgPerson LDAP objectclass or a schema of USERS database
 table are all Object Classes from the midPoint point of view. Object class
 defines a set of attribute names, types for each attributes and few
 additional properties.
 This class represents schema definition for resource object (object class).
 See 
Definition for more details.
 Resource Object Definition is immutable. TODO: This will probably need to be changed to a mutable object.- Author:
- Radovan Semancik
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinitionPrismItemAccessDefinition.Mutable
- 
Field SummaryFields inherited from class com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImplcompileTimeClass, complexTypeDefinitionFields inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImplheterogeneousListItem, itemName, substitutionHeadFields inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpldeprecated, deprecatedSince, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, isAbstract, isRuntimeSchema, plannedRemoval, processing, removed, removedSince, typeNameFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Constructor SummaryConstructorsConstructorDescriptionResourceAttributeContainerDefinitionImpl(QName name, ComplexTypeDefinition complexTypeDefinition) 
- 
Method SummaryModifier and TypeMethodDescriptionclone()protected voiddebugDump(int indent) findAttributeDefinition(ItemPath elementPath) findAttributeDefinition(String localName) <T> ResourceAttributeDefinition<T>findAttributeDefinition(QName elementQName, boolean caseInsensitive) Collection<? extends ResourceAttributeDefinition<?>>List<? extends ResourceAttributeDefinition<?>>Definition of the container values.@NotNull List<? extends ResourceAttributeDefinition<?>>Returns a list of item definitions in this container.TODO review docs Returns the definition of description attribute of a resource object.TODO review docs Returns the definition of display name attribute.TODO review docs Specifies which resource attribute should be used as a "technical" name for the account.TODO review docs Returns the native object class string for the resource object.Collection<? extends ResourceAttributeDefinition<?>>TODO review docs Returns the definition of primary identifier attributes of a resource object.Collection<? extends ResourceAttributeDefinition<?>>TODO review docs Returns the definition of secondary identifier attributes of a resource object.@NotNull ResourceAttributeContainerCreate an item instance.@NotNull ResourceAttributeContainerinstantiate(QName name) Create an item instance.booleanTODO review docs Indicates whether definition is should be used as default account type.voidsetDescriptionAttribute(QName name) voidsetDisplayNameAttribute(ResourceAttributeDefinition<?> displayName) voidsetDisplayNameAttribute(QName displayName) TODO Convenience method.voidsetNamingAttribute(ResourceAttributeDefinition<?> namingAttribute) voidsetNamingAttribute(QName namingAttribute) voidsetNativeObjectClass(String nativeObjectClass) <T extends ShadowType>
 @NotNull PrismObjectDefinition<T>toString()Methods inherited from class com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImplaccept, canBeDefinitionOf, canRepresent, checkMutable, cloneWithReplacedDefinition, copyDefinitionDataFrom, createContainerDefinition, createContainerDefinition, createContainerDefinition, createEmptyDelta, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createValue, debugDump, deepClone, findItemDefinition, getAlwaysUseForEquals, getCompileTimeClass, getDebugDumpClassName, getDiagrams, getDocClassName, getPropertyDefinitions, getSchemaNamespace, getTypeClass, isAbstract, isEmpty, performFreeze, replaceDefinition, revive, setAlwaysUseForEquals, setCompileTimeClass, setComplexTypeDefinition, toMutableMethods inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpladoptElementDefinitionFrom, canAdd, canBeDefinitionOf, canModify, canRead, copyDefinitionDataFrom, debugDisplayOrder, debugDumpShortToString, debugFlags, debugMultiplicity, equals, extendToString, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, getValueEnumerationRef, hashCode, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isOperational, isSearchable, isValidFor, replaceName, setCanAdd, setCanModify, setCanRead, setDynamic, setHeterogeneousListItem, setIndexOnly, setInherited, setItemName, setMaxOccurs, setMinOccurs, setOperational, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRef, useSerializationProxy, writeReplaceMethods inherited from class com.evolveum.midpoint.prism.impl.DefinitionImplaccept, addDiagram, addSchemaMigration, checkMutableOnExposing, copyDefinitionDataFrom, extendDumpHeader, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getRemovedSince, getSchemaMigrations, getTypeName, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, isRuntimeSchema, setAbstract, setAnnotation, setDeprecated, setDeprecatedSince, setDisplayName, setDisplayOrder, setDocumentation, setElaborate, setEmphasized, setExperimental, setHelp, setPlannedRemoval, setProcessing, setRemoved, setRemovedSince, setRuntimeSchema, setTypeNameMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezablefreeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.DefinitiondebugDump, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getProcessing, getRemovedSince, getSchemaMigrations, getSchemaRegistry, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, isRuntimeSchema, setAnnotationMethods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinitionadoptElementDefinitionFrom, canBeDefinitionOf, canBeDefinitionOf, debugDumpShortToString, deepClone, findItemDefinition, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, getValueEnumerationRef, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isMandatory, isMultiValue, isOperational, isOptional, isSearchable, isSingleValue, isValidForMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStorecontainsItemDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinition, findReferenceDefinitionMethods inherited from interface com.evolveum.midpoint.prism.MutableDefinitionaddDiagram, addSchemaMigration, setDeprecated, setDisplayName, setDisplayOrder, setDocumentation, setEmphasized, setExperimental, setHelp, setProcessing, setRemoved, setRemovedSince, setRuntimeSchema, setTypeNameMethods inherited from interface com.evolveum.midpoint.prism.MutableItemDefinitionsetCanAdd, setCanModify, setCanRead, setDeprecatedSince, setDynamic, setElaborate, setHeterogeneousListItem, setIndexOnly, setInherited, setItemName, setMaxOccurs, setMinOccurs, setOperational, setPlannedRemoval, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinitioncanRepresent, cloneWithReplacedDefinition, createEmptyDelta, createValue, getAlwaysUseForEquals, getCompileTimeClass, getItemNames, getPropertyDefinitions, getTypeClass, isAlwaysUseForEquals, isCompletelyDefined, isEmpty, replaceDefinition, structuredType, toMutableMethods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitivegetPrismContextMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinitioncanAdd, canModify, canReadMethods inherited from interface com.evolveum.midpoint.prism.SmartVisitableaccept
- 
Constructor Details- 
ResourceAttributeContainerDefinitionImplpublic ResourceAttributeContainerDefinitionImpl(QName name, ComplexTypeDefinition complexTypeDefinition) 
 
- 
- 
Method Details- 
getComplexTypeDefinitionDescription copied from interface:PrismContainerDefinitionDefinition of the container values. May be null. (Let's not mark it as @Nullable to avoid lots of warnings.) Note that individual values can hold their own (more specific) complex type definitions.- Specified by:
- getComplexTypeDefinitionin interface- PrismContainerDefinition<ShadowAttributesType>
- Specified by:
- getComplexTypeDefinitionin interface- ResourceAttributeContainerDefinition
- Overrides:
- getComplexTypeDefinitionin class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
- 
getPrimaryIdentifiersDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Returns the definition of primary identifier attributes of a resource object. May return empty set if there are no identifier attributes. Must not return null. 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:
- getPrimaryIdentifiersin interface- ResourceAttributeContainerDefinition
- Returns:
- definition of identifier attributes
 
- 
getSecondaryIdentifiersDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Returns the definition of secondary identifier attributes of a resource object. May return empty set if there are no secondary identifier attributes. Must not return null. 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:
- getSecondaryIdentifiersin interface- ResourceAttributeContainerDefinition
- Returns:
- definition of secondary identifier attributes
 
- 
getAllIdentifiers- Specified by:
- getAllIdentifiersin interface- ResourceAttributeContainerDefinition
 
- 
getDescriptionAttributeDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Returns the definition of description attribute of a resource object. Returns null if there is no description attribute. 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:
- getDescriptionAttributein interface- ResourceAttributeContainerDefinition
- Returns:
- definition of secondary identifier attributes
 
- 
setDescriptionAttribute
- 
getNamingAttributeDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Specifies which resource attribute should be used as a "technical" name for the account. This name will appear in log files and other troubleshooting tools. The name should be a form of unique identifier that can be used to locate the resource object for diagnostics. It should not contain white chars and special chars if that can be avoided and it should be reasonable short. It is different from a display name attribute. Display name is intended for a common user or non-technical administrator (such as role administrator). The naming attribute is intended for technical IDM administrators and developers.- Specified by:
- getNamingAttributein interface- ResourceAttributeContainerDefinition
- Returns:
- resource attribute definition that should be used as a "technical" name for the account.
 
- 
setNamingAttribute
- 
setNamingAttribute
- 
getNativeObjectClassDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Returns the native object class string for the resource object. Native object class is the name of the Resource Object Definition (Object Class) as it is seen by the resource itself. The name of the Resource Object Definition 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 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 interface- ResourceAttributeContainerDefinition
- Returns:
- native object class
 
- 
setNativeObjectClass
- 
isDefaultAccountDefinitionpublic boolean isDefaultAccountDefinition()Description copied from interface:ResourceAttributeContainerDefinitionTODO review docs Indicates whether definition is should be used as default account type. If true value is returned then the definition should be used as a default account type definition. This is a way how a resource connector may suggest applicable object classes (resource object definitions) for accounts. If no information about account type is present, false should be returned. This method must return true only if isAccountType() returns true. The exception should be never thrown unless there is some bug in the code. The validation of at-most-one value should be done at the time of schema parsing. The exception may not even be thrown at all if the implementation is not able to determine duplicity.- Specified by:
- isDefaultAccountDefinitionin interface- ResourceAttributeContainerDefinition
- Returns:
- true if the definition should be used as account type.
 
- 
getDisplayNameAttributeDescription copied from interface:ResourceAttributeContainerDefinitionTODO review docs Returns the definition of display name attribute. Display name attribute specifies which resource attribute should be used as title when displaying objects of a specific resource object class. It must point to an attribute of String type. If not present, primary identifier should be used instead (but this method does not handle this default behavior). Returns null if there is no display name attribute. 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:
- getDisplayNameAttributein interface- ResourceAttributeContainerDefinition
- Returns:
- native object class
 
- 
setDisplayNameAttribute
- 
setDisplayNameAttributeTODO Convenience method. It will internally look up the correct definition.
- 
instantiateDescription copied from interface:ItemDefinitionCreate an item instance. Definition name or default name will be used as an element name for the instance. The instance will otherwise be empty.- Specified by:
- instantiatein interface- ItemDefinition<PrismContainer<ShadowAttributesType>>
- Specified by:
- instantiatein interface- ResourceAttributeContainerDefinition
- Overrides:
- instantiatein class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
- 
instantiateDescription copied from interface:ItemDefinitionCreate an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
- instantiatein interface- ItemDefinition<PrismContainer<ShadowAttributesType>>
- Specified by:
- instantiatein interface- ResourceAttributeContainerDefinition
- Overrides:
- instantiatein class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
- 
clone- Specified by:
- clonein interface- Definition
- Specified by:
- clonein interface- ItemDefinition<PrismContainer<ShadowAttributesType>>
- Specified by:
- clonein interface- PrismContainerDefinition<ShadowAttributesType>
- Specified by:
- clonein interface- ResourceAttributeContainerDefinition
- Overrides:
- clonein class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
- 
copyDefinitionDataFrom
- 
findAttributeDefinitionpublic <T> ResourceAttributeDefinition<T> findAttributeDefinition(QName elementQName, boolean caseInsensitive) - Specified by:
- findAttributeDefinitionin interface- ResourceAttributeContainerDefinition
 
- 
findAttributeDefinition- Specified by:
- findAttributeDefinitionin interface- ResourceAttributeContainerDefinition
 
- 
findAttributeDefinition- Specified by:
- findAttributeDefinitionin interface- ResourceAttributeContainerDefinition
 
- 
getAttributeDefinitions- Specified by:
- getAttributeDefinitionsin interface- ResourceAttributeContainerDefinition
 
- 
toShadowDefinition- Specified by:
- toShadowDefinitionin interface- ResourceAttributeContainerDefinition
 
- 
debugDump- Specified by:
- debugDumpin interface- DebugDumpable
- Overrides:
- debugDumpin class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
- 
toString- Overrides:
- toStringin class- com.evolveum.midpoint.prism.impl.ItemDefinitionImpl<PrismContainer<ShadowAttributesType>>
 
- 
getDefinitionsDescription copied from interface:PrismContainerDefinitionReturns a list of item definitions in this container. It is intentionally aListbecause it is ordered. (To provide standard format for serialization.) Usually obtained fromComplexTypeDefinition. So please do not modify the content of the list!- Specified by:
- getDefinitionsin interface- LocalItemDefinitionStore
- Specified by:
- getDefinitionsin interface- PrismContainerDefinition<ShadowAttributesType>
- Specified by:
- getDefinitionsin interface- ResourceAttributeContainerDefinition
- Overrides:
- getDefinitionsin class- com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<ShadowAttributesType>
 
 
-