Class ResourceAttributeImpl<T>
- java.lang.Object
-
- com.evolveum.midpoint.prism.AbstractFreezable
-
- com.evolveum.midpoint.prism.impl.ItemImpl<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
-
- com.evolveum.midpoint.prism.impl.PrismPropertyImpl<T>
-
- com.evolveum.midpoint.schema.processor.ResourceAttributeImpl<T>
-
- All Implemented Interfaces:
Freezable
,Item<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
,Itemable
,ItemDefinitionTransformer.TransformableItem
,ParentVisitable
,PathVisitable
,PrismContextSensitive
,PrismProperty<T>
,Revivable
,Visitable
,ResourceAttribute<T>
,DebugDumpable
,Serializable
public class ResourceAttributeImpl<T> extends PrismPropertyImpl<T> implements ResourceAttribute<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.impl.ItemImpl
definition, elementName, immutable, incomplete, parent, values
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Constructor Summary
Constructors Constructor Description ResourceAttributeImpl(QName name, ResourceAttributeDefinition<T> definition, PrismContext prismContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyDefinition(PrismPropertyDefinition<T> definition, boolean force)
ResourceAttribute<T>
clone()
Literal clone.ResourceAttribute<T>
cloneComplex(CloneStrategy strategy)
Complex clone with different cloning strategies.protected void
copyValues(CloneStrategy strategy, ResourceAttributeImpl<T> clone)
protected String
getDebugDumpClassName()
Return a human readable name of this class suitable for logs.ResourceAttributeDefinition<T>
getDefinition()
Returns applicable property definition.String
getNativeAttributeName()
Returns native attribute name.-
Methods inherited from class com.evolveum.midpoint.prism.impl.PrismPropertyImpl
add, addForced, addInternalExecution, addRealValue, addRealValueSkipUniquenessCheck, addValue, addValue, addValues, checkDefinition, clear, copyValues, createDelta, createDelta, createImmutableClone, debugDump, deleteValue, deleteValues, diff, diff, find, findPartial, fixupDelta, getAnyRealValue, getRealValue, getRealValues, getRealValues, getValue, getValueClass, getValues, hasRealValue, replaceValues, setDefinition, setRealValue, setRealValues, setValue, toHumanReadableString, toString, valueRemoved
-
Methods inherited from class com.evolveum.midpoint.prism.impl.ItemImpl
accept, accept, acceptParentVisitor, add, addAll, addIgnoringEquivalents, addInternal, addRespectingMetadataAndCloning, appendDebugDumpSuffix, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, copyValues, diff, equals, equals, equals, getAllValues, getElementName, getHighestId, getParent, getPath, getPathComponent, getPrismContext, getPrismContextLocal, getRealValue, getRealValuesArray, getUserData, getUserData, getValue, getValues, hashCode, hashCode, hashCode, isIncomplete, merge, normalize, performFreeze, propagateDeepCloneDefinition, recomputeAllValues, remove, remove, removeAll, removeRespectingMetadata, replace, replaceAll, revive, setElementName, setIncomplete, setParent, setPrismContext, setUserData, transformDefinition
-
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.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.Item
acceptParentVisitor, add, add, addAll, addAll, addIgnoringEquivalents, addRespectingMetadataAndCloning, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, copy, diff, diff, equals, equals, equals, filterValues, filterYields, find, findValue, findValue, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDisplayName, getElementName, getHelp, getHighestId, getParent, getPath, getPrismContextLocal, getRealValue, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, getValue, getValues, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hashCode, hasNoValues, hasRaw, isEmpty, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setDefinition, setElementName, setIncomplete, setParent, setPrismContext, setUserData, size, valuesStream
-
Methods inherited from interface com.evolveum.midpoint.prism.PathVisitable
accept
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismProperty
addRealValue, addRealValues, addRealValueSkipUniquenessCheck, addValue, addValues, createDelta, createDelta, createImmutableClone, deleteValue, deleteValues, diff, diff, findPartial, getAnyRealValue, getRealValue, getRealValues, getRealValues, getValue, getValueClass, getValues, hasRealValue, replaceValues, setRealValue, setRealValues, setValue, toHumanReadableString
-
-
-
-
Constructor Detail
-
ResourceAttributeImpl
public ResourceAttributeImpl(QName name, ResourceAttributeDefinition<T> definition, PrismContext prismContext)
-
-
Method Detail
-
getDefinition
public ResourceAttributeDefinition<T> getDefinition()
Description copied from class:PrismPropertyImpl
Returns applicable property definition.May return null if no definition is applicable or the definition is not know.
- Specified by:
getDefinition
in interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
- Specified by:
getDefinition
in interfaceItemable
- Specified by:
getDefinition
in interfaceResourceAttribute<T>
- Overrides:
getDefinition
in classPrismPropertyImpl<T>
- Returns:
- applicable property definition
-
getNativeAttributeName
public 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.- Specified by:
getNativeAttributeName
in interfaceResourceAttribute<T>
- Returns:
- native attribute name
-
clone
public ResourceAttribute<T> clone()
Description copied from interface:Item
Literal clone.- Specified by:
clone
in interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
- Specified by:
clone
in interfacePrismProperty<T>
- Specified by:
clone
in interfaceResourceAttribute<T>
- Overrides:
clone
in classPrismPropertyImpl<T>
-
cloneComplex
public ResourceAttribute<T> cloneComplex(CloneStrategy strategy)
Description copied from interface:Item
Complex clone with different cloning strategies.- Specified by:
cloneComplex
in interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
- Specified by:
cloneComplex
in interfacePrismProperty<T>
- Overrides:
cloneComplex
in classPrismPropertyImpl<T>
- See Also:
CloneStrategy
-
copyValues
protected void copyValues(CloneStrategy strategy, ResourceAttributeImpl<T> clone)
-
getDebugDumpClassName
protected String getDebugDumpClassName()
Return a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassName
in classPrismPropertyImpl<T>
-
applyDefinition
public void applyDefinition(PrismPropertyDefinition<T> definition, boolean force) throws SchemaException
- Specified by:
applyDefinition
in interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
- Overrides:
applyDefinition
in classItemImpl<PrismPropertyValue<T>,PrismPropertyDefinition<T>>
- Throws:
SchemaException
-
-