com.evolveum.midpoint.common.refinery
Class RefinedAccountDefinition

java.lang.Object
  extended by com.evolveum.midpoint.prism.Definition
      extended by com.evolveum.midpoint.prism.ItemDefinition
          extended by com.evolveum.midpoint.prism.PrismContainerDefinition<ResourceObjectShadowAttributesType>
              extended by com.evolveum.midpoint.schema.processor.ResourceAttributeContainerDefinition
                  extended by com.evolveum.midpoint.common.refinery.RefinedAccountDefinition
All Implemented Interfaces:
DebugDumpable, Dumpable, java.io.Serializable

public class RefinedAccountDefinition
extends ResourceAttributeContainerDefinition
implements Dumpable, DebugDumpable

Author:
semancik
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.evolveum.midpoint.prism.PrismContainerDefinition
compileTimeClass, complexTypeDefinition, isRuntimeSchema
 
Fields inherited from class com.evolveum.midpoint.prism.ItemDefinition
name
 
Fields inherited from class com.evolveum.midpoint.prism.Definition
defaultName, displayOrder, help, ignored, prismContext, typeName
 
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
 
Method Summary
 void add(RefinedAttributeDefinition refinedAttributeDefinition)
           
 RefinedAccountDefinition clone()
          Shallow clone
 boolean containsAttributeDefinition(javax.xml.namespace.QName attributeName)
           
protected  void copyDefinitionData(RefinedAccountDefinition clone)
           
 PrismObject<AccountShadowType> createBlankShadow()
           
 java.lang.String debugDump()
          Show the content of the object intended for diagnostics by system administrator.
 java.lang.String debugDump(int indent)
           
 java.lang.String dump()
          Show the content of the object intended for diagnostics by developer.
 RefinedAttributeDefinition findAttributeDefinition(javax.xml.namespace.QName elementQName)
           
 RefinedAttributeDefinition findAttributeDefinition(java.lang.String elementLocalname)
           
 java.lang.String getAccountTypeName()
           
 MappingType getActivationInbound()
           
 MappingType getActivationOutbound()
           
 RefinedAttributeDefinition getAttributeDefinition(javax.xml.namespace.QName attributeName)
           
 java.util.Collection<RefinedAttributeDefinition> getAttributeDefinitions()
           
 ObjectClassComplexTypeDefinition getComplexTypeDefinition()
           
 MappingType getCredentialsInbound()
           
 MappingType getCredentialsOutbound()
           
 java.util.Collection<ItemDefinition> getDefinitions()
          Returns set of property definitions.
 java.lang.String getDescription()
           
 ResourceAttributeDefinition getDescriptionAttribute()
          Returns the definition of description attribute of a resource object.
 java.lang.String getDisplayName()
          Returns display name.
 ResourceAttributeDefinition getDisplayNameAttribute()
          Returns the definition of display name attribute.
 java.util.Collection<ResourceAttributeDefinition> getIdentifiers()
          Returns the definition of identifier attributes of a resource object.
 java.util.Collection<? extends javax.xml.namespace.QName> getNamesOfAttributesWithInboundExpressions()
           
 java.util.Collection<? extends javax.xml.namespace.QName> getNamesOfAttributesWithOutboundExpressions()
           
 java.lang.String getNamespace()
           
 ResourceAttributeDefinition getNamingAttribute()
          Specifies which resource attribute should be used as a "technical" name for the account.
 java.lang.String getNativeObjectClass()
          Returns the native object class string for the resource object.
 ObjectClassComplexTypeDefinition getObjectClassDefinition()
           
 PrismObjectDefinition<AccountShadowType> getObjectDefinition()
           
 ObjectReferenceType getPasswordPolicy()
           
 PrismContext getPrismContext()
           
 java.util.Set<PrismPropertyDefinition> getPropertyDefinitions()
          Returns set of property definitions.
 java.util.Collection<ResourceObjectPattern> getProtectedAccounts()
           
 ResourceShadowDiscriminator getResourceAccountType()
           
 ResourceType getResourceType()
           
 java.util.Collection<ResourceAttributeDefinition> getSecondaryIdentifiers()
          Returns the definition of secondary identifier attributes of a resource object.
 ResourceAttributeContainer instantiate()
          Create property container instance with a default name.
 ResourceAttributeContainer instantiate(javax.xml.namespace.QName name)
          Create property container instance with a specified name and element.
 boolean isAccountType()
          Indicates whether definition is should be used as account type.
 boolean isDefault()
           
 boolean isDefaultAccountType()
          Indicates whether definition is should be used as default account type.
 boolean isRuntimeSchema()
           
 void setAccountType(boolean accountType)
           
 void setAccountTypeName(java.lang.String accountTypeName)
           
 void setDefault(boolean isDefault)
           
 void setDefaultAccountType(boolean defaultAccountType)
           
 void setDescription(java.lang.String description)
           
 void setDescriptionAttribute(ResourceAttributeDefinition descriptionAttribute)
           
 void setDisplayName(java.lang.String displayName)
           
 void setDisplayNameAttribute(javax.xml.namespace.QName displayName)
          TODO Convenience method.
 void setObjectClassDefinition(ObjectClassComplexTypeDefinition objectClassDefinition)
           
 
Methods inherited from class com.evolveum.midpoint.schema.processor.ResourceAttributeContainerDefinition
copyDefinitionData, findAttributeDefinition, setDisplayNameAttribute, setNamingAttribute, setNamingAttribute, setNativeObjectClass, toShadowDefinition, toString
 
Methods inherited from class com.evolveum.midpoint.prism.PrismContainerDefinition
cloneWithReplacedDefinition, copyDefinitionData, createContainerDefinition, createContainerDefinition, createContainerDefinition, createEmptyDelta, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, extendToString, findContainerDefinition, findContainerDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findPropertyDefinition, findPropertyDefinition, findReferenceDefinition, getCompileTimeClass, getDebugDumpClassName, getSchemaNamespace, isEmpty, setCompileTimeClass, setComplexTypeDefinition, setRuntimeSchema
 
Methods inherited from class com.evolveum.midpoint.prism.ItemDefinition
copyDefinitionData, equals, getDefaultName, getMaxOccurs, getMinOccurs, getName, getNameOrDefaultName, hashCode, isDynamic, isMandatory, isMultiValue, isOptional, isSingleValue, isValidFor, setDynamic, setMaxOccurs, setMinOccurs, setName
 
Methods inherited from class com.evolveum.midpoint.prism.Definition
copyDefinitionData, getDisplayOrder, getHelp, getSchemaRegistry, getTypeClass, getTypeName, isIgnored, setDisplayOrder, setHelp, setIgnored, setTypeName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getDescriptionAttribute

public ResourceAttributeDefinition getDescriptionAttribute()
Description copied from class: ResourceAttributeContainerDefinition
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.

Overrides:
getDescriptionAttribute in class ResourceAttributeContainerDefinition
Returns:
definition of secondary identifier attributes

setDescriptionAttribute

public void setDescriptionAttribute(ResourceAttributeDefinition descriptionAttribute)
Overrides:
setDescriptionAttribute in class ResourceAttributeContainerDefinition

getNamingAttribute

public ResourceAttributeDefinition getNamingAttribute()
Description copied from class: ResourceAttributeContainerDefinition
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.

Overrides:
getNamingAttribute in class ResourceAttributeContainerDefinition
Returns:
resource attribute definition that should be used as a "technical" name for the account.

getNativeObjectClass

public java.lang.String getNativeObjectClass()
Description copied from class: ResourceAttributeContainerDefinition
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 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.

Overrides:
getNativeObjectClass in class ResourceAttributeContainerDefinition
Returns:
native object class

setAccountType

public void setAccountType(boolean accountType)
Overrides:
setAccountType in class ResourceAttributeContainerDefinition

isDefaultAccountType

public boolean isDefaultAccountType()
Description copied from class: ResourceAttributeContainerDefinition
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.

Overrides:
isDefaultAccountType in class ResourceAttributeContainerDefinition
Returns:
true if the definition should be used as account type.

setDefaultAccountType

public void setDefaultAccountType(boolean defaultAccountType)
Overrides:
setDefaultAccountType in class ResourceAttributeContainerDefinition

getAccountTypeName

public java.lang.String getAccountTypeName()
Overrides:
getAccountTypeName in class ResourceAttributeContainerDefinition

setAccountTypeName

public void setAccountTypeName(java.lang.String accountTypeName)
Overrides:
setAccountTypeName in class ResourceAttributeContainerDefinition

getDisplayNameAttribute

public ResourceAttributeDefinition getDisplayNameAttribute()
Description copied from class: ResourceAttributeContainerDefinition
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.

Overrides:
getDisplayNameAttribute in class ResourceAttributeContainerDefinition
Returns:
native object class

setDisplayNameAttribute

public void setDisplayNameAttribute(javax.xml.namespace.QName displayName)
Description copied from class: ResourceAttributeContainerDefinition
TODO Convenience method. It will internally look up the correct definition.

Overrides:
setDisplayNameAttribute in class ResourceAttributeContainerDefinition

getIdentifiers

public java.util.Collection<ResourceAttributeDefinition> getIdentifiers()
Description copied from class: ResourceAttributeContainerDefinition
Returns the definition of 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.

Overrides:
getIdentifiers in class ResourceAttributeContainerDefinition
Returns:
definition of identifier attributes

getSecondaryIdentifiers

public java.util.Collection<ResourceAttributeDefinition> getSecondaryIdentifiers()
Description copied from class: ResourceAttributeContainerDefinition
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.

Overrides:
getSecondaryIdentifiers in class ResourceAttributeContainerDefinition
Returns:
definition of secondary identifier attributes

getProtectedAccounts

public java.util.Collection<ResourceObjectPattern> getProtectedAccounts()

getPrismContext

public PrismContext getPrismContext()
Overrides:
getPrismContext in class Definition

getComplexTypeDefinition

public ObjectClassComplexTypeDefinition getComplexTypeDefinition()
Overrides:
getComplexTypeDefinition in class ResourceAttributeContainerDefinition

instantiate

public ResourceAttributeContainer instantiate()
Description copied from class: PrismContainerDefinition
Create property container instance with a default name.

This is a preferred way how to create property container.

Overrides:
instantiate in class ResourceAttributeContainerDefinition
Returns:
created item instance

instantiate

public ResourceAttributeContainer instantiate(javax.xml.namespace.QName name)
Description copied from class: PrismContainerDefinition
Create property container instance with a specified name and element.

This is a preferred way how to create property container.

Overrides:
instantiate in class ResourceAttributeContainerDefinition
Returns:
created item instance

clone

public RefinedAccountDefinition clone()
Description copied from class: PrismContainerDefinition
Shallow clone

Overrides:
clone in class ResourceAttributeContainerDefinition

copyDefinitionData

protected void copyDefinitionData(RefinedAccountDefinition clone)

findAttributeDefinition

public RefinedAttributeDefinition findAttributeDefinition(javax.xml.namespace.QName elementQName)
Overrides:
findAttributeDefinition in class ResourceAttributeContainerDefinition

findAttributeDefinition

public RefinedAttributeDefinition findAttributeDefinition(java.lang.String elementLocalname)
Overrides:
findAttributeDefinition in class ResourceAttributeContainerDefinition

getDisplayName

public java.lang.String getDisplayName()
Description copied from class: Definition
Returns 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.

Overrides:
getDisplayName in class Definition
Returns:
display name string or catalog key

setDisplayName

public void setDisplayName(java.lang.String displayName)
Overrides:
setDisplayName in class Definition

isRuntimeSchema

public boolean isRuntimeSchema()
Overrides:
isRuntimeSchema in class PrismContainerDefinition<ResourceObjectShadowAttributesType>

getDescription

public java.lang.String getDescription()

setDescription

public void setDescription(java.lang.String description)

getNamespace

public java.lang.String getNamespace()
Overrides:
getNamespace in class ItemDefinition

isDefault

public boolean isDefault()

setDefault

public void setDefault(boolean isDefault)

getObjectClassDefinition

public ObjectClassComplexTypeDefinition getObjectClassDefinition()

setObjectClassDefinition

public void setObjectClassDefinition(ObjectClassComplexTypeDefinition objectClassDefinition)

isAccountType

public boolean isAccountType()
Description copied from class: ResourceAttributeContainerDefinition
Indicates whether definition is should be used as account type. If true value is returned then the definition should be used as an 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.

Overrides:
isAccountType in class ResourceAttributeContainerDefinition
Returns:
true if the definition should be used as account type.

getAttributeDefinitions

public java.util.Collection<RefinedAttributeDefinition> getAttributeDefinitions()
Overrides:
getAttributeDefinitions in class ResourceAttributeContainerDefinition

getPropertyDefinitions

public java.util.Set<PrismPropertyDefinition> getPropertyDefinitions()
Description copied from class: PrismContainerDefinition
Returns set of property definitions.

The set contains all property definitions of all types that were parsed. Order of definitions is insignificant.

The returned set is immutable! All changes may be lost.

Overrides:
getPropertyDefinitions in class PrismContainerDefinition<ResourceObjectShadowAttributesType>
Returns:
set of definitions

getDefinitions

public java.util.Collection<ItemDefinition> getDefinitions()
Description copied from class: PrismContainerDefinition
Returns set of property definitions.

WARNING: This may return definitions from the associated complex type. Therefore changing the returned set may influence also the complex type definition.

The set contains all property definitions of all types that were parsed. Order of definitions is insignificant.

Overrides:
getDefinitions in class PrismContainerDefinition<ResourceObjectShadowAttributesType>
Returns:
set of definitions

getResourceType

public ResourceType getResourceType()

getObjectDefinition

public PrismObjectDefinition<AccountShadowType> getObjectDefinition()

getAttributeDefinition

public RefinedAttributeDefinition getAttributeDefinition(javax.xml.namespace.QName attributeName)

add

public void add(RefinedAttributeDefinition refinedAttributeDefinition)

containsAttributeDefinition

public boolean containsAttributeDefinition(javax.xml.namespace.QName attributeName)

debugDump

public java.lang.String debugDump()
Description copied from interface: DebugDumpable
Show the content of the object intended for diagnostics by system administrator. The out put should be suitable to use in system logs at "debug" level. It may be multi-line, but in that case it should be well indented and quite terse. As it is intended to be used by system administrator, it should not use any developer terms such as class names, exceptions or stack traces.

Specified by:
debugDump in interface DebugDumpable
Overrides:
debugDump in class Definition
Returns:
content of the object intended for diagnostics by system administrator.

debugDump

public java.lang.String debugDump(int indent)
Specified by:
debugDump in interface DebugDumpable
Overrides:
debugDump in class ResourceAttributeContainerDefinition

dump

public java.lang.String dump()
Description copied from interface: Dumpable
Show the content of the object intended for diagnostics by developer. The content may be multi-line, in case of hierarchical objects it may be intended. The use of this method may not be efficient. It is not supposed to be used in normal operation. However, it is very useful in tests or in case of dumping objects in severe error situations.

Specified by:
dump in interface Dumpable
Overrides:
dump in class Definition
Returns:
content of the object intended for diagnostics.

createBlankShadow

public PrismObject<AccountShadowType> createBlankShadow()

getResourceAccountType

public ResourceShadowDiscriminator getResourceAccountType()

getNamesOfAttributesWithOutboundExpressions

public java.util.Collection<? extends javax.xml.namespace.QName> getNamesOfAttributesWithOutboundExpressions()

getNamesOfAttributesWithInboundExpressions

public java.util.Collection<? extends javax.xml.namespace.QName> getNamesOfAttributesWithInboundExpressions()

getCredentialsInbound

public MappingType getCredentialsInbound()

getCredentialsOutbound

public MappingType getCredentialsOutbound()

getPasswordPolicy

public ObjectReferenceType getPasswordPolicy()

getActivationInbound

public MappingType getActivationInbound()

getActivationOutbound

public MappingType getActivationOutbound()


Copyright © 2012 evolveum. All Rights Reserved.