Class LayerRefinedObjectClassDefinitionImpl
- java.lang.Object
 - 
- com.evolveum.midpoint.common.refinery.LayerRefinedObjectClassDefinitionImpl
 
 
- 
- All Implemented Interfaces:
 LayerRefinedObjectClassDefinition,RefinedObjectClassDefinition,ComplexTypeDefinition,Definition,Freezable,LocalDefinitionStore,PrismContextSensitive,Revivable,SmartVisitable<Definition>,TypeDefinition,Visitable<Definition>,ObjectClassComplexTypeDefinition,DebugDumpable,Serializable,Cloneable
public final class LayerRefinedObjectClassDefinitionImpl extends Object implements LayerRefinedObjectClassDefinition
- Author:
 - semancik, mederly
 - See Also:
 - Serialized Form
 
 
- 
- 
Field Summary
- 
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING 
 - 
 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor<Definition> visitor)booleanaccept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)booleancanRepresent(QName typeName)@NotNull LayerRefinedObjectClassDefinitionclone()Does a shallow clone of this definition (i.e.booleancontainsAttributeDefinition(@NotNull QName attributeName)booleancontainsAttributeDefinition(ItemPathType pathType)PrismObject<ShadowType>createBlankShadow(RefinedObjectClassDefinition definition, String tag)ObjectQuerycreateShadowSearchQuery(String resourceOid)StringdebugDump(int indent)@NotNull RefinedObjectClassDefinitiondeepClone(Map<QName,ComplexTypeDefinition> ctdMap, Map<QName,ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction)Does a deep clone of this definition.booleanequals(Object obj)RefinedAssociationDefinitionfindAssociationDefinition(QName name)<X> LayerRefinedAttributeDefinition<X>findAttributeDefinition(@NotNull QName elementQName)Finds a attribute definition by looking at the property name.<X> LayerRefinedAttributeDefinition<X>findAttributeDefinition(String elementLocalName)<ID extends ItemDefinition>
IDfindItemDefinition(@NotNull ItemPath path, @NotNull Class<ID> clazz)<ID extends ItemDefinition>
IDfindLocalItemDefinition(@NotNull QName name, @NotNull Class<ID> clazz, boolean caseInsensitive)<ID extends ItemDefinition>
IDfindNamedItemDefinition(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz)LayerRefinedObjectClassDefinitionforLayer(@NotNull LayerType layerType)voidfreeze()ResourceBidirectionalMappingTypegetActivationBidirectionalMappingType(QName propertyName)AttributeFetchStrategyTypegetActivationFetchStrategy(QName propertyName)ResourceActivationDefinitionTypegetActivationSchemaHandling()Collection<? extends LayerRefinedAttributeDefinition<?>>getAllIdentifiers()Returns both primary and secondary identifiers.<A> AgetAnnotation(QName qname)Returns generic definition annotation.@NotNull Collection<RefinedAssociationDefinition>getAssociationDefinitions()Returns definitions of all associations as an unmodifiable collection.Collection<RefinedAssociationDefinition>getAssociationDefinitions(ShadowKindType kind)@NotNull List<? extends LayerRefinedAttributeDefinition<?>>getAttributeDefinitions()Returns definitions of all attributes as an unmodifiable collection.@NotNull Collection<RefinedObjectClassDefinition>getAuxiliaryObjectClassDefinitions()ResourceBidirectionalMappingAndDefinitionTypegetAuxiliaryObjectClassMappings()ResourceObjectReferenceTypegetBaseContext()CapabilitiesTypegetCapabilities()Returns configured capabilities for given refined object class definition.Class<?>getCompileTimeClass()Returns compile-time class, if this type has any.StringgetDebugDumpClassName()Return a human readable name of this class suitable for logs.StringgetDefaultNamespace()When resolving unqualified names for items contained in this CTD, what should be the default namespace to look into at first.@NotNull List<? extends ItemDefinition>getDefinitions()Returns definitions for all inner items.StringgetDeprecatedSince()StringgetDescription()<X> LayerRefinedAttributeDefinition<X>getDescriptionAttribute()Returns the definition of description attribute of a resource object.List<ItemDiagramSpecification>getDiagrams()StringgetDisplayName()Returns display name.<X> LayerRefinedAttributeDefinition<X>getDisplayNameAttribute()Returns the definition of display name attribute.IntegergetDisplayOrder()Specifies an order in which the item should be displayed relative to other items at the same level.StringgetDocumentation()StringgetDocumentationPreview()Returns only a first sentence of documentation.<T extends CapabilityType>
TgetEffectiveCapability(Class<T> capabilityClass, ResourceType resourceType)QNamegetExtensionForType()If not null, indicates that this type defines the structure of 'extension' element of a given type.StringgetHelp()Returns help string.StringgetHumanReadableName()@NotNull List<String>getIgnoredNamespaces()When resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored.IntegergetInstantiationOrder()StringgetIntent()TODO: THIS SHOULD NOT BE HEREShadowKindTypegetKind()TODO: THIS SHOULD NOT BE HERELayerTypegetLayer()ResourceObjectMultiplicityTypegetMultiplicity()Collection<QName>getNamesOfAssociations()Collection<? extends QName>getNamesOfAssociationsWithInboundExpressions()Collection<? extends QName>getNamesOfAssociationsWithOutboundExpressions()Collection<? extends QName>getNamesOfAttributesWithInboundExpressions()Collection<? extends QName>getNamesOfAttributesWithOutboundExpressions()<X> LayerRefinedAttributeDefinition<X>getNamingAttribute()TODOStringgetNativeObjectClass()Returns the native object class string for the resource object.ObjectClassComplexTypeDefinitiongetObjectClassDefinition()PrismObjectDefinition<ShadowType>getObjectDefinition()PagedSearchCapabilityTypegetPagedSearches(ResourceType resourceType)ResourcePasswordDefinitionTypegetPasswordDefinition()AttributeFetchStrategyTypegetPasswordFetchStrategy()List<MappingType>getPasswordInbound()List<MappingType>getPasswordOutbound()StringgetPlannedRemoval()Version of data model in which the item is likely to be removed.@NotNull Collection<? extends LayerRefinedAttributeDefinition<?>>getPrimaryIdentifiers()Returns the definition of primary identifier attributes of a resource object.PrismContextgetPrismContext()ItemProcessinggetProcessing()ProjectionPolicyTypegetProjection()Collection<ResourceObjectPattern>getProtectedObjectPatterns()StringgetResourceOid()List<SchemaMigration>getSchemaMigrations()SearchHierarchyScopegetSearchHierarchyScope()@NotNull Collection<? extends LayerRefinedAttributeDefinition<?>>getSecondaryIdentifiers()Returns the definition of secondary identifier attributes of a resource object.ObjectReferenceTypegetSecurityPolicyRef()ResourceShadowDiscriminatorgetShadowDiscriminator()@NotNull Collection<TypeDefinition>getStaticSubTypes()Subtypes - but only these that are a part of the static schema.QNamegetSuperType()Name of super type of this complex type definition.ClassgetTypeClass()Returns a compile-time class that is used to represent items.ClassgetTypeClassIfKnown()@NotNull QNamegetTypeName()Returns a name of the type for this definition.ResourceObjectVolatilityTypegetVolatility()booleanhasAuxiliaryObjectClass(QName expectedObjectClassName)inthashCode()booleanhasSubstitutions()ResourceAttributeContainerinstantiate(QName name)booleanisAbstract()booleanisAuxiliary()TODObooleanisContainerMarker()Flag indicating whether this type was marked as "container" in the original schema.booleanisDefault()booleanisDefaultInAKind()Indicates whether definition is should be used as default definition in ist kind.booleanisDeprecated()booleanisElaborate()Elaborate items are complicated data structure that may deviate from normal principles of the system.booleanisEmphasized()True for definitions that are more important than others and that should be emphasized during presentation.booleanisEmpty()Returns true if there are no item definitions.booleanisExperimental()Experimental functionality is not stable and it may be changed in any future release without any warning.booleanisIgnored()Item definition that has this flag set should be ignored by any processing.booleanisImmutable()booleanisListMarker()booleanisObjectCountingEnabled(ResourceType resourceType)booleanisObjectMarker()Flag indicating whether this type was marked as "object" in the original schema.booleanisPagedSearchEnabled(ResourceType resourceType)booleanisPrimaryIdentifier(QName attrName)Returns true if the attribute with a given name is among primary identifiers.booleanisReferenceMarker()Flag indicating whether this type was marked as "objectReference" in the original schema.booleanisRuntimeSchema()This means that this particular definition (of an item or of a type) is part of the runtime schema, e.g.booleanisSecondaryIdentifier(QName attrName)Returns true if the attribute with a given name is among secondary identifiers.booleanisShared()Is this definition shared, i.e.booleanisXsdAnyMarker()True if the complex type definition contains xsd:any (directly or indirectly).booleanmatches(ShadowType shadow)Do not use.voidmerge(ComplexTypeDefinition otherComplexTypeDef)Copies cloned definitions from the other type definition into this one.voidrevive(PrismContext prismContext)<A> voidsetAnnotation(QName qname, A value)Optional<ItemDefinition<?>>substitution(QName name)MutableObjectClassComplexTypeDefinitiontoMutable()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 java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait 
- 
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
containsItemDefinition, isItemDefinitionRemoved, itemOrSubstitution 
- 
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily 
- 
Methods inherited from interface com.evolveum.midpoint.prism.Definition
debugDump, getMutabilityFlag, getSchemaRegistry 
- 
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable 
- 
Methods inherited from interface com.evolveum.midpoint.prism.LocalDefinitionStore
findContainerDefinition, findContainerDefinition, findItemDefinition, findLocalItemDefinition, findPropertyDefinition, findReferenceDefinition, findReferenceDefinition 
- 
Methods inherited from interface com.evolveum.midpoint.schema.processor.ObjectClassComplexTypeDefinition
findAttributeDefinition, hasIndexOnlyAttributes, isIdentifier, toResourceAttributeContainerDefinition, toResourceAttributeContainerDefinition 
- 
Methods inherited from interface com.evolveum.midpoint.common.refinery.RefinedObjectClassDefinition
createBlankShadow 
- 
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFrom 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getLayer
public LayerType getLayer()
- Specified by:
 getLayerin interfaceLayerRefinedObjectClassDefinition
 
- 
getTypeName
@NotNull public @NotNull QName getTypeName()
Description copied from interface:DefinitionReturns a name of the type for this definition. The type can be part of the compile-time schema or it can be defined at run time. Examples of the former case are types like c:UserType, xsd:string, or even flexible ones like c:ExtensionType or c:ShadowAttributesType. Examples of the latter case are types used in - custom extensions, like ext:LocationsType (where ext = e.g. http://example.com/extension), - resource schema, like ri:inetOrgPerson (ri = http://.../resource/instance-3), - connector schema, like TODO In XML representation that corresponds to the name of the XSD type. Although beware, the run-time types do not have statically defined structure. And the resource and connector-related types may even represent different kinds of objects within different contexts (e.g. two distinct resources both with ri:AccountObjectClass types). Also note that for complex type definitions, the type name serves as a unique identifier. On the other hand, for item definitions, it is just one of its attributes; primary key is item name in that case. The type name should be fully qualified. (TODO reconsider this)- Specified by:
 getTypeNamein interfaceDefinition- Returns:
 - the type name
 
 
- 
isIgnored
public boolean isIgnored()
Description copied from interface:DefinitionItem definition that has this flag set should be ignored by any processing. The ignored item is still part of the schema. Item instances may appear in the serialized data formats (e.g. XML) or data store and the parser should not raise an error if it encounters them. But any high-level processing code should ignore presence of this item. E.g. it should not be displayed to the user, should not be present in transformed data structures, etc. Note that the same item can be ignored at higher layer (e.g. presentation) but not ignored at lower layer (e.g. model). This works by presenting different item definitions for these layers (see LayerRefinedAttributeDefinition). Semantics of this flag for complex type definitions is to be defined yet.- Specified by:
 isIgnoredin interfaceDefinition
 
- 
getProcessing
public ItemProcessing getProcessing()
- Specified by:
 getProcessingin interfaceDefinition
 
- 
getSchemaMigrations
public List<SchemaMigration> getSchemaMigrations()
- Specified by:
 getSchemaMigrationsin interfaceDefinition
 
- 
getDiagrams
public List<ItemDiagramSpecification> getDiagrams()
- Specified by:
 getDiagramsin interfaceDefinition
 
- 
isEmphasized
public boolean isEmphasized()
Description copied from interface:DefinitionTrue for definitions that are more important than others and that should be emphasized during presentation. E.g. the emphasized definitions will always be displayed in the user interfaces (even if they are empty), they will always be included in the dumps, etc.- Specified by:
 isEmphasizedin interfaceDefinition
 
- 
getDescriptionAttribute
public <X> LayerRefinedAttributeDefinition<X> getDescriptionAttribute()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns 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 interfaceObjectClassComplexTypeDefinition- Specified by:
 getDescriptionAttributein interfaceRefinedObjectClassDefinition
 
- 
getIgnoredNamespaces
@NotNull public @NotNull List<String> getIgnoredNamespaces()
Description copied from interface:ComplexTypeDefinitionWhen resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored. Names in this list are interpreted as a namespace prefixes. Currently does NOT apply recursively (to inner CTDs).- Specified by:
 getIgnoredNamespacesin interfaceComplexTypeDefinition
 
- 
getNamingAttribute
public <X> LayerRefinedAttributeDefinition<X> getNamingAttribute()
Description copied from interface:ObjectClassComplexTypeDefinitionTODO- Specified by:
 getNamingAttributein interfaceObjectClassComplexTypeDefinition- Specified by:
 getNamingAttributein interfaceRefinedObjectClassDefinition
 
- 
getNativeObjectClass
public String getNativeObjectClass()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns 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 unmangled 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 interfaceObjectClassComplexTypeDefinition- Returns:
 - native object class
 
 
- 
isAuxiliary
public boolean isAuxiliary()
Description copied from interface:ObjectClassComplexTypeDefinitionTODO- Specified by:
 isAuxiliaryin interfaceObjectClassComplexTypeDefinition- Returns:
 
 
- 
getDisplayOrder
public Integer getDisplayOrder()
Description copied from interface:DefinitionSpecifies an order in which the item should be displayed relative to other items at the same level. The items will be displayed by sorting them by the values of displayOrder annotation (ascending). Items that do not have any displayOrder annotation will be displayed last. The ordering of values with the same displayOrder is undefined and it may be arbitrary.- Specified by:
 getDisplayOrderin interfaceDefinition
 
- 
findItemDefinition
public <ID extends ItemDefinition> ID findItemDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<ID> clazz)
- Specified by:
 findItemDefinitionin interfaceLocalDefinitionStore
 
- 
findNamedItemDefinition
public <ID extends ItemDefinition> ID findNamedItemDefinition(@NotNull @NotNull QName firstName, @NotNull @NotNull ItemPath rest, @NotNull @NotNull Class<ID> clazz)
- Specified by:
 findNamedItemDefinitionin interfaceLocalDefinitionStore
 
- 
isDefaultInAKind
public boolean isDefaultInAKind()
Description copied from interface:ObjectClassComplexTypeDefinitionIndicates whether definition is should be used as default definition in ist kind. E.g. if used in an "account" kind it indicates default account definition. If true value is returned then the definition should be used as a default definition for the kind. This is a way how a resource connector may suggest applicable object classes (resource object definitions) for individual shadow kinds (e.g. accounts).- Specified by:
 isDefaultInAKindin interfaceObjectClassComplexTypeDefinition- Returns:
 - true if the definition should be used as account type.
 
 
- 
getKind
public ShadowKindType getKind()
Description copied from interface:ObjectClassComplexTypeDefinitionTODO: THIS SHOULD NOT BE HERE- Specified by:
 getKindin interfaceObjectClassComplexTypeDefinition- Returns:
 
 
- 
getPasswordFetchStrategy
public AttributeFetchStrategyType getPasswordFetchStrategy()
- Specified by:
 getPasswordFetchStrategyin interfaceRefinedObjectClassDefinition
 
- 
getIntent
public String getIntent()
Description copied from interface:ObjectClassComplexTypeDefinitionTODO: THIS SHOULD NOT BE HERE- Specified by:
 getIntentin interfaceObjectClassComplexTypeDefinition- Returns:
 
 
- 
forLayer
public LayerRefinedObjectClassDefinition forLayer(@NotNull @NotNull LayerType layerType)
- Specified by:
 forLayerin interfaceRefinedObjectClassDefinition
 
- 
getDisplayNameAttribute
public <X> LayerRefinedAttributeDefinition<X> getDisplayNameAttribute()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns 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 interfaceObjectClassComplexTypeDefinition- Specified by:
 getDisplayNameAttributein interfaceRefinedObjectClassDefinition
 
- 
getHelp
public String getHelp()
Description copied from interface:DefinitionReturns help string. Specifies the help text or a key to catalog file for a help text. The help text may be displayed in any suitable way by the GUI. It should explain the meaning of an attribute or object class. Returns null if no help string is set. Corresponds to "help" XSD annotation.- Specified by:
 getHelpin interfaceDefinition- Returns:
 - help string or catalog key
 
 
- 
getPrimaryIdentifiers
@NotNull public @NotNull Collection<? extends LayerRefinedAttributeDefinition<?>> getPrimaryIdentifiers()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns 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 interfaceObjectClassComplexTypeDefinition- Specified by:
 getPrimaryIdentifiersin interfaceRefinedObjectClassDefinition- Returns:
 - definition of identifier attributes
 
 
- 
getAllIdentifiers
public Collection<? extends LayerRefinedAttributeDefinition<?>> getAllIdentifiers()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns both primary and secondary identifiers.- Specified by:
 getAllIdentifiersin interfaceObjectClassComplexTypeDefinition- Specified by:
 getAllIdentifiersin interfaceRefinedObjectClassDefinition
 
- 
getSecondaryIdentifiers
@NotNull public @NotNull Collection<? extends LayerRefinedAttributeDefinition<?>> getSecondaryIdentifiers()
Description copied from interface:ObjectClassComplexTypeDefinitionReturns 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 interfaceObjectClassComplexTypeDefinition- Specified by:
 getSecondaryIdentifiersin interfaceRefinedObjectClassDefinition- Returns:
 - definition of secondary identifier attributes
 
 
- 
getTypeClass
public Class getTypeClass()
Description copied from interface:DefinitionReturns a compile-time class that is used to represent items. E.g. returns String, Integer, sublcasses of Objectable and Containerable and so on.- Specified by:
 getTypeClassin interfaceDefinition
 
- 
getProtectedObjectPatterns
public Collection<ResourceObjectPattern> getProtectedObjectPatterns()
- Specified by:
 getProtectedObjectPatternsin interfaceRefinedObjectClassDefinition
 
- 
merge
public void merge(ComplexTypeDefinition otherComplexTypeDef)
Description copied from interface:ComplexTypeDefinitionCopies cloned definitions from the other type definition into this one. (TODO remove from the interface?)- Specified by:
 mergein interfaceComplexTypeDefinition
 
- 
getPrismContext
public PrismContext getPrismContext()
- Specified by:
 getPrismContextin interfacePrismContextSensitive
 
- 
instantiate
public ResourceAttributeContainer instantiate(QName name)
- Specified by:
 instantiatein interfaceObjectClassComplexTypeDefinition
 
- 
findAttributeDefinition
public <X> LayerRefinedAttributeDefinition<X> findAttributeDefinition(@NotNull @NotNull QName elementQName)
Description copied from interface:ObjectClassComplexTypeDefinitionFinds a attribute definition by looking at the property name. Returns null if nothing is found.- Specified by:
 findAttributeDefinitionin interfaceObjectClassComplexTypeDefinition- Specified by:
 findAttributeDefinitionin interfaceRefinedObjectClassDefinition- Parameters:
 elementQName- property definition name- Returns:
 - found property definition or null
 
 
- 
findAttributeDefinition
public <X> LayerRefinedAttributeDefinition<X> findAttributeDefinition(String elementLocalName)
- Specified by:
 findAttributeDefinitionin interfaceObjectClassComplexTypeDefinition- Specified by:
 findAttributeDefinitionin interfaceRefinedObjectClassDefinition
 
- 
getDisplayName
public String getDisplayName()
Description copied from interface:DefinitionReturns display name. Specifies the printable name of the object class or attribute. It must contain a printable string. It may also contain a key to catalog file. Returns null if no display name is set. Corresponds to "displayName" XSD annotation.- Specified by:
 getDisplayNamein interfaceDefinition- Returns:
 - display name string or catalog key
 
 
- 
getDefinitions
@NotNull public @NotNull List<? extends ItemDefinition> getDefinitions()
Description copied from interface:ComplexTypeDefinitionReturns definitions for all inner items. These are of type ItemDefinition. However, very often subtypes of this type are used, e.g. ResourceAttributeDefinition, RefinedAttributeDefinition, LayerRefinedAttributeDefinition, and so on. Although returned as a list, the order of definitions is insignificant. (TODO change to set?) The list is unmodifiable.- Specified by:
 getDefinitionsin interfaceComplexTypeDefinition
 
- 
getDescription
public String getDescription()
- Specified by:
 getDescriptionin interfaceRefinedObjectClassDefinition
 
- 
isDefault
public boolean isDefault()
- Specified by:
 isDefaultin interfaceRefinedObjectClassDefinition
 
- 
getObjectClassDefinition
public ObjectClassComplexTypeDefinition getObjectClassDefinition()
- Specified by:
 getObjectClassDefinitionin interfaceRefinedObjectClassDefinition
 
- 
getAttributeDefinitions
@NotNull public @NotNull List<? extends LayerRefinedAttributeDefinition<?>> getAttributeDefinitions()
Description copied from interface:RefinedObjectClassDefinitionReturns definitions of all attributes as an unmodifiable collection. Note: content of this is exactly the same as for getDefinitions- Specified by:
 getAttributeDefinitionsin interfaceLayerRefinedObjectClassDefinition- Specified by:
 getAttributeDefinitionsin interfaceObjectClassComplexTypeDefinition- Specified by:
 getAttributeDefinitionsin interfaceRefinedObjectClassDefinition
 
- 
containsAttributeDefinition
public boolean containsAttributeDefinition(ItemPathType pathType)
- Specified by:
 containsAttributeDefinitionin interfaceRefinedObjectClassDefinition
 
- 
getResourceOid
public String getResourceOid()
- Specified by:
 getResourceOidin interfaceRefinedObjectClassDefinition
 
- 
getObjectDefinition
public PrismObjectDefinition<ShadowType> getObjectDefinition()
- Specified by:
 getObjectDefinitionin interfaceRefinedObjectClassDefinition
 
- 
containsAttributeDefinition
public boolean containsAttributeDefinition(@NotNull @NotNull QName attributeName)- Specified by:
 containsAttributeDefinitionin interfaceRefinedObjectClassDefinition
 
- 
isEmpty
public boolean isEmpty()
Description copied from interface:ComplexTypeDefinitionReturns true if there are no item definitions.- Specified by:
 isEmptyin interfaceComplexTypeDefinition
 
- 
createBlankShadow
public PrismObject<ShadowType> createBlankShadow(RefinedObjectClassDefinition definition, String tag)
- Specified by:
 createBlankShadowin interfaceRefinedObjectClassDefinition
 
- 
getShadowDiscriminator
public ResourceShadowDiscriminator getShadowDiscriminator()
- Specified by:
 getShadowDiscriminatorin interfaceRefinedObjectClassDefinition
 
- 
getNamesOfAttributesWithOutboundExpressions
public Collection<? extends QName> getNamesOfAttributesWithOutboundExpressions()
- Specified by:
 getNamesOfAttributesWithOutboundExpressionsin interfaceRefinedObjectClassDefinition
 
- 
getNamesOfAttributesWithInboundExpressions
public Collection<? extends QName> getNamesOfAttributesWithInboundExpressions()
- Specified by:
 getNamesOfAttributesWithInboundExpressionsin interfaceRefinedObjectClassDefinition
 
- 
getPasswordInbound
public List<MappingType> getPasswordInbound()
- Specified by:
 getPasswordInboundin interfaceRefinedObjectClassDefinition
 
- 
getPasswordOutbound
public List<MappingType> getPasswordOutbound()
- Specified by:
 getPasswordOutboundin interfaceRefinedObjectClassDefinition
 
- 
getSecurityPolicyRef
public ObjectReferenceType getSecurityPolicyRef()
- Specified by:
 getSecurityPolicyRefin interfaceRefinedObjectClassDefinition
 
- 
getPasswordDefinition
public ResourcePasswordDefinitionType getPasswordDefinition()
- Specified by:
 getPasswordDefinitionin interfaceRefinedObjectClassDefinition
 
- 
getCompileTimeClass
public Class<?> getCompileTimeClass()
Description copied from interface:TypeDefinitionReturns compile-time class, if this type has any. For example, UserType.class, ObjectType.class, ExtensionType.class.- Specified by:
 getCompileTimeClassin interfaceTypeDefinition
 
- 
getExtensionForType
public QName getExtensionForType()
Description copied from interface:ComplexTypeDefinitionIf not null, indicates that this type defines the structure of 'extension' element of a given type. E.g. getExtensionForType() == c:UserType means that this complex type defines structure of 'extension' elements of UserType objects.- Specified by:
 getExtensionForTypein interfaceComplexTypeDefinition
 
- 
isContainerMarker
public boolean isContainerMarker()
Description copied from interface:ComplexTypeDefinitionFlag indicating whether this type was marked as "container" in the original schema. Does not provide any information to schema processing logic, just conveys the marker from original schema so we can serialize and deserialize the schema without loss of information.- Specified by:
 isContainerMarkerin interfaceComplexTypeDefinition
 
- 
isReferenceMarker
public boolean isReferenceMarker()
Description copied from interface:ComplexTypeDefinitionFlag indicating whether this type was marked as "objectReference" in the original schema.- Specified by:
 isReferenceMarkerin interfaceComplexTypeDefinition
 
- 
isPrimaryIdentifier
public boolean isPrimaryIdentifier(QName attrName)
Description copied from interface:ObjectClassComplexTypeDefinitionReturns true if the attribute with a given name is among primary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).- Specified by:
 isPrimaryIdentifierin interfaceObjectClassComplexTypeDefinition
 
- 
isObjectMarker
public boolean isObjectMarker()
Description copied from interface:ComplexTypeDefinitionFlag indicating whether this type was marked as "object" in the original schema. Does not provide any information to schema processing logic, just conveys the marker from original schema so we can serialized and deserialize the schema without loss of information.- Specified by:
 isObjectMarkerin interfaceComplexTypeDefinition
 
- 
isXsdAnyMarker
public boolean isXsdAnyMarker()
Description copied from interface:ComplexTypeDefinitionTrue if the complex type definition contains xsd:any (directly or indirectly).- Specified by:
 isXsdAnyMarkerin interfaceComplexTypeDefinition
 
- 
isListMarker
public boolean isListMarker()
- Specified by:
 isListMarkerin interfaceComplexTypeDefinition
 
- 
getSuperType
public QName getSuperType()
Description copied from interface:TypeDefinitionName of super type of this complex type definition. E.g. c:ObjectType is a super type for c:FocusType which is a super type for c:UserType. Or (more complex example) ri:ShadowAttributesType is a super type of ri:AccountObjectClass. (TODO is this really true?)- Specified by:
 getSuperTypein interfaceTypeDefinition
 
- 
isSecondaryIdentifier
public boolean isSecondaryIdentifier(QName attrName)
Description copied from interface:ObjectClassComplexTypeDefinitionReturns true if the attribute with a given name is among secondary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).- Specified by:
 isSecondaryIdentifierin interfaceObjectClassComplexTypeDefinition
 
- 
isRuntimeSchema
public boolean isRuntimeSchema()
Description copied from interface:DefinitionThis means that this particular definition (of an item or of a type) is part of the runtime schema, e.g. extension schema, resource schema or connector schema or something like that. I.e. it is not defined statically.- Specified by:
 isRuntimeSchemain interfaceDefinition
 
- 
getAssociationDefinitions
@NotNull public @NotNull Collection<RefinedAssociationDefinition> getAssociationDefinitions()
Description copied from interface:RefinedObjectClassDefinitionReturns definitions of all associations as an unmodifiable collection. Note: these items are _not_ included in getDefinitions. (BTW, RefinedAssociationDefinition is not a subtype of ItemDefinition, not even of Definition.)- Specified by:
 getAssociationDefinitionsin interfaceRefinedObjectClassDefinition
 
- 
getAssociationDefinitions
public Collection<RefinedAssociationDefinition> getAssociationDefinitions(ShadowKindType kind)
- Specified by:
 getAssociationDefinitionsin interfaceRefinedObjectClassDefinition
 
- 
getNamesOfAssociations
public Collection<QName> getNamesOfAssociations()
- Specified by:
 getNamesOfAssociationsin interfaceRefinedObjectClassDefinition
 
- 
getActivationSchemaHandling
public ResourceActivationDefinitionType getActivationSchemaHandling()
- Specified by:
 getActivationSchemaHandlingin interfaceRefinedObjectClassDefinition
 
- 
getActivationBidirectionalMappingType
public ResourceBidirectionalMappingType getActivationBidirectionalMappingType(QName propertyName)
- Specified by:
 getActivationBidirectionalMappingTypein interfaceRefinedObjectClassDefinition
 
- 
getActivationFetchStrategy
public AttributeFetchStrategyType getActivationFetchStrategy(QName propertyName)
- Specified by:
 getActivationFetchStrategyin interfaceRefinedObjectClassDefinition
 
- 
getCapabilities
public CapabilitiesType getCapabilities()
Description copied from interface:RefinedObjectClassDefinitionReturns configured capabilities for given refined object class definition. Returned object is freely modifiable copy of the original information.- Specified by:
 getCapabilitiesin interfaceRefinedObjectClassDefinition
 
- 
getEffectiveCapability
public <T extends CapabilityType> T getEffectiveCapability(Class<T> capabilityClass, ResourceType resourceType)
- Specified by:
 getEffectiveCapabilityin interfaceRefinedObjectClassDefinition
 
- 
getPagedSearches
public PagedSearchCapabilityType getPagedSearches(ResourceType resourceType)
- Specified by:
 getPagedSearchesin interfaceRefinedObjectClassDefinition
 
- 
isPagedSearchEnabled
public boolean isPagedSearchEnabled(ResourceType resourceType)
- Specified by:
 isPagedSearchEnabledin interfaceRefinedObjectClassDefinition
 
- 
isObjectCountingEnabled
public boolean isObjectCountingEnabled(ResourceType resourceType)
- Specified by:
 isObjectCountingEnabledin interfaceRefinedObjectClassDefinition
 
- 
isAbstract
public boolean isAbstract()
- Specified by:
 isAbstractin interfaceDefinition
 
- 
isDeprecated
public boolean isDeprecated()
- Specified by:
 isDeprecatedin interfaceDefinition
 
- 
getDeprecatedSince
public String getDeprecatedSince()
- Specified by:
 getDeprecatedSincein interfaceDefinition
 
- 
isExperimental
public boolean isExperimental()
Description copied from interface:DefinitionExperimental functionality is not stable and it may be changed in any future release without any warning. Use at your own risk.- Specified by:
 isExperimentalin interfaceDefinition
 
- 
getPlannedRemoval
public String getPlannedRemoval()
Description copied from interface:DefinitionVersion of data model in which the item is likely to be removed. This annotation is used for deprecated item to indicate imminent incompatibility in future versions of data model.- Specified by:
 getPlannedRemovalin interfaceDefinition
 
- 
isElaborate
public boolean isElaborate()
Description copied from interface:DefinitionElaborate items are complicated data structure that may deviate from normal principles of the system. For example elaborate items may not be supported in user interface and may only be manageable by raw edits or a special-purpose tools. Elaborate items may be not fully supported by authorizations, schema tools and so on.- Specified by:
 isElaboratein interfaceDefinition
 
- 
getDocumentation
public String getDocumentation()
- Specified by:
 getDocumentationin interfaceDefinition
 
- 
getDocumentationPreview
public String getDocumentationPreview()
Description copied from interface:DefinitionReturns only a first sentence of documentation.- Specified by:
 getDocumentationPreviewin interfaceDefinition
 
- 
findAssociationDefinition
public RefinedAssociationDefinition findAssociationDefinition(QName name)
- Specified by:
 findAssociationDefinitionin interfaceRefinedObjectClassDefinition
 
- 
findLocalItemDefinition
public <ID extends ItemDefinition> ID findLocalItemDefinition(@NotNull @NotNull QName name, @NotNull @NotNull Class<ID> clazz, boolean caseInsensitive)
- Specified by:
 findLocalItemDefinitionin interfaceLocalDefinitionStore
 
- 
getNamesOfAssociationsWithOutboundExpressions
public Collection<? extends QName> getNamesOfAssociationsWithOutboundExpressions()
- Specified by:
 getNamesOfAssociationsWithOutboundExpressionsin interfaceRefinedObjectClassDefinition
 
- 
getNamesOfAssociationsWithInboundExpressions
public Collection<? extends QName> getNamesOfAssociationsWithInboundExpressions()
- Specified by:
 getNamesOfAssociationsWithInboundExpressionsin interfaceRefinedObjectClassDefinition
 
- 
matches
public boolean matches(ShadowType shadow)
Description copied from interface:ObjectClassComplexTypeDefinitionDo not use. Unclear semantics. For synchronization tasks usecom.evolveum.midpoint.model.impl.sync.SynchronizationObjectsFilterclass instead.- Specified by:
 matchesin interfaceObjectClassComplexTypeDefinition- Specified by:
 matchesin interfaceRefinedObjectClassDefinition
 
- 
getDefaultNamespace
public String getDefaultNamespace()
Description copied from interface:ComplexTypeDefinitionWhen resolving unqualified names for items contained in this CTD, what should be the default namespace to look into at first. Currently does NOT apply recursively (to inner CTDs).- Specified by:
 getDefaultNamespacein interfaceComplexTypeDefinition
 
- 
debugDump
public String debugDump(int indent)
- Specified by:
 debugDumpin interfaceDebugDumpable
 
- 
getDebugDumpClassName
public String getDebugDumpClassName()
Return a human readable name of this class suitable for logs.- Specified by:
 getDebugDumpClassNamein interfaceRefinedObjectClassDefinition
 
- 
getHumanReadableName
public String getHumanReadableName()
- Specified by:
 getHumanReadableNamein interfaceRefinedObjectClassDefinition
 
- 
accept
public void accept(Visitor<Definition> visitor)
- Specified by:
 acceptin interfaceVisitable<Definition>
 
- 
accept
public boolean accept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation)
- Specified by:
 acceptin interfaceSmartVisitable<Definition>- Returns:
 - false if we already was here
 
 
- 
clone
@NotNull public @NotNull LayerRefinedObjectClassDefinition 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 interfaceLayerRefinedObjectClassDefinition- Specified by:
 clonein interfaceObjectClassComplexTypeDefinition- Specified by:
 clonein interfaceRefinedObjectClassDefinition- Overrides:
 clonein classObject
 
- 
deepClone
@NotNull public @NotNull RefinedObjectClassDefinition deepClone(Map<QName,ComplexTypeDefinition> ctdMap, Map<QName,ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction)
Description copied from interface:ComplexTypeDefinitionDoes a deep clone of this definition.- Specified by:
 deepClonein interfaceComplexTypeDefinition- Specified by:
 deepClonein interfaceObjectClassComplexTypeDefinition- Specified by:
 deepClonein interfaceRefinedObjectClassDefinition- Parameters:
 ctdMap- Keeps already cloned definitions when 'ultra deep cloning' is not requested. Each definition is then cloned only once.onThisPath- Keeps already cloned definitions on the path from root to current node; in order to prevent infinite loops when doing ultra deep cloning.
 
- 
getBaseContext
public ResourceObjectReferenceType getBaseContext()
- Specified by:
 getBaseContextin interfaceRefinedObjectClassDefinition
 
- 
getSearchHierarchyScope
public SearchHierarchyScope getSearchHierarchyScope()
- Specified by:
 getSearchHierarchyScopein interfaceRefinedObjectClassDefinition
 
- 
getVolatility
public ResourceObjectVolatilityType getVolatility()
- Specified by:
 getVolatilityin interfaceRefinedObjectClassDefinition
 
- 
getMultiplicity
public ResourceObjectMultiplicityType getMultiplicity()
- Specified by:
 getMultiplicityin interfaceRefinedObjectClassDefinition
 
- 
getProjection
public ProjectionPolicyType getProjection()
- Specified by:
 getProjectionin interfaceRefinedObjectClassDefinition
 
- 
getTypeClassIfKnown
public Class getTypeClassIfKnown()
- Specified by:
 getTypeClassIfKnownin interfaceDefinition
 
- 
getAuxiliaryObjectClassDefinitions
@NotNull public @NotNull Collection<RefinedObjectClassDefinition> getAuxiliaryObjectClassDefinitions()
- Specified by:
 getAuxiliaryObjectClassDefinitionsin interfaceRefinedObjectClassDefinition
 
- 
hasAuxiliaryObjectClass
public boolean hasAuxiliaryObjectClass(QName expectedObjectClassName)
- Specified by:
 hasAuxiliaryObjectClassin interfaceRefinedObjectClassDefinition
 
- 
getAuxiliaryObjectClassMappings
public ResourceBidirectionalMappingAndDefinitionType getAuxiliaryObjectClassMappings()
- Specified by:
 getAuxiliaryObjectClassMappingsin interfaceRefinedObjectClassDefinition
 
- 
createShadowSearchQuery
public ObjectQuery createShadowSearchQuery(String resourceOid) throws SchemaException
- Specified by:
 createShadowSearchQueryin interfaceObjectClassComplexTypeDefinition- Throws:
 SchemaException
 
- 
revive
public void revive(PrismContext prismContext)
- Specified by:
 revivein interfaceComplexTypeDefinition- Specified by:
 revivein interfaceRevivable
 
- 
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
 
- 
toMutable
public MutableObjectClassComplexTypeDefinition toMutable()
- Specified by:
 toMutablein interfaceComplexTypeDefinition- Specified by:
 toMutablein interfaceDefinition- Specified by:
 toMutablein interfaceObjectClassComplexTypeDefinition
 
- 
isShared
public boolean isShared()
Description copied from interface:ComplexTypeDefinitionIs this definition shared, i.e. used by more than one prism object? If so, it should not be e.g. trimmed. EXPERIMENTAL- Specified by:
 isSharedin interfaceComplexTypeDefinition
 
- 
getStaticSubTypes
@NotNull public @NotNull Collection<TypeDefinition> getStaticSubTypes()
Description copied from interface:TypeDefinitionSubtypes - but only these that are a part of the static schema. A little bit experimental. :)- Specified by:
 getStaticSubTypesin interfaceTypeDefinition
 
- 
getAnnotation
public <A> A getAnnotation(QName qname)
Description copied from interface:DefinitionReturns generic definition annotation. Annotations are a method to extend schema definitions. This may be annotation stored in the schema definition file (e.g. XSD) or it may be a dynamic annotation determined at run-time. Annotation value should be a prism-supported object. E.g. a prims "bean" (JAXB annotated class), prism item, prism value or something like that. EXPERIMENTAL. Hic sunt leones. This may change at any moment. Note: annotations are only partially supported now (3.8). They are somehow transient. E.g. they are not serialized to XSD schema definitions (yet).- Specified by:
 getAnnotationin interfaceDefinition
 
- 
setAnnotation
public <A> void setAnnotation(QName qname, A value)
- Specified by:
 setAnnotationin interfaceDefinition
 
- 
getInstantiationOrder
public Integer getInstantiationOrder()
- Specified by:
 getInstantiationOrderin interfaceTypeDefinition
 
- 
canRepresent
public boolean canRepresent(QName typeName)
- Specified by:
 canRepresentin interfaceTypeDefinition
 
- 
isImmutable
public boolean isImmutable()
- Specified by:
 isImmutablein interfaceFreezable
 
- 
substitution
public Optional<ItemDefinition<?>> substitution(QName name)
- Specified by:
 substitutionin interfaceComplexTypeDefinition
 
- 
hasSubstitutions
public boolean hasSubstitutions()
- Specified by:
 hasSubstitutionsin interfaceComplexTypeDefinition
 
 - 
 
 -