com.evolveum.midpoint.schema.processor
Class ResourceAttribute<T>

java.lang.Object
  extended by com.evolveum.midpoint.prism.Item<PrismPropertyValue<T>>
      extended by com.evolveum.midpoint.prism.PrismProperty<T>
          extended by com.evolveum.midpoint.schema.processor.ResourceAttribute<T>
All Implemented Interfaces:
Itemable, Visitable, DebugDumpable, Dumpable, java.io.Serializable

public class ResourceAttribute<T>
extends PrismProperty<T>

Resource Object Attribute is a Property of Resource Object. All that applies to property applies also to attribute, e.g. only a whole attributes can be changed, they may be simple or complex types, they should be representable in XML, etc. In addition, attribute definition may have some annotations that suggest its purpose and use on the Resource.

Resource Object Attribute understands resource-specific annotations such as native attribute name.

Resource Object Attribute is mutable.

Author:
Radovan Semancik
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.evolveum.midpoint.prism.Item
definition, name, parent, prismContext
 
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
 
Constructor Summary
ResourceAttribute(javax.xml.namespace.QName name, ResourceAttributeDefinition definition, PrismContext prismContext)
           
 
Method Summary
 ResourceAttribute<T> clone()
           
protected  void copyValues(ResourceAttribute<T> clone)
           
protected  java.lang.String getDebugDumpClassName()
          Return a human readable name of this class suitable for logs.
 ResourceAttributeDefinition getDefinition()
          Returns applicable property definition.
 java.lang.String getNativeAttributeName()
          Returns native attribute name.
 
Methods inherited from class com.evolveum.midpoint.prism.PrismProperty
addRealValue, addValue, addValues, checkDefinition, copyValues, createDelta, debugDump, deleteValue, deleteValues, diff, diff, equals, fixupDelta, getAnyRealValue, getHumanReadableDump, getNextValue, getPreviousValue, getRealValue, getRealValue, getRealValues, getRealValues, getRealValuesArray, getValue, getValue, getValueClass, getValues, getValues, hashCode, hasRealValue, hasValue, replaceValues, setDefinition, setRealValue, setValue, toString
 
Methods inherited from class com.evolveum.midpoint.prism.Item
accept, add, addAll, applyDefinition, applyDefinition, asDomElements, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, cloneCollection, contains, contains, containsEquivalentValue, containsRealValue, copyValues, createNewDefinitionlessItem, debugDump, diff, diff, diff, diffInternal, dump, equalsRealValue, findValue, getClonedValues, getDisplayName, getHelp, getName, getParent, getPath, getPrismContext, getUserData, getUserData, getValue, hasCompleteDefinition, hasRaw, hasRealValue, hasValue, hasValue, isEmpty, isRaw, normalize, remove, remove, removeAll, replace, replaceAll, resetParentCollection, revive, setDefinition, setName, setParent, setPrismContext, setUserData, size
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ResourceAttribute

public ResourceAttribute(javax.xml.namespace.QName name,
                         ResourceAttributeDefinition definition,
                         PrismContext prismContext)
Method Detail

getDefinition

public ResourceAttributeDefinition getDefinition()
Description copied from class: PrismProperty
Returns applicable property definition.

May return null if no definition is applicable or the definition is not know.

Specified by:
getDefinition in interface Itemable
Overrides:
getDefinition in class PrismProperty<T>
Returns:
applicable property definition

getNativeAttributeName

public java.lang.String getNativeAttributeName()
Returns native attribute name.

Native name of the attribute is a name as it is used on the resource or as seen by the connector. It is used for diagnostics purposes and may be used by the connector itself. As the attribute names in XSD have to comply with XML element name limitations, this may be the only way how to determine original attribute name.

Returns null if native attribute name is not set or unknown.

The name should be the same as the one used by the resource, if the resource supports naming of attributes. E.g. in case of LDAP this annotation should contain "cn", "givenName", etc. If the resource is not that flexible, the native attribute names may be hardcoded (e.g. "username", "homeDirectory") or may not be present at all.

Returns:
native attribute name

clone

public ResourceAttribute<T> clone()
Overrides:
clone in class PrismProperty<T>

copyValues

protected void copyValues(ResourceAttribute<T> clone)

getDebugDumpClassName

protected java.lang.String getDebugDumpClassName()
Return a human readable name of this class suitable for logs.

Overrides:
getDebugDumpClassName in class PrismProperty<T>


Copyright © 2012 evolveum. All Rights Reserved.