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 com.evolveum.midpoint.prism.impl.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 voidapplyDefinition(PrismPropertyDefinition<T> definition, boolean force)ResourceAttribute<T>clone()Literal clone.ResourceAttribute<T>cloneComplex(CloneStrategy strategy)Complex clone with different cloning strategies.protected voidcopyValues(CloneStrategy strategy, ResourceAttributeImpl<T> clone)protected StringgetDebugDumpClassName()Return a human readable name of this class suitable for logs.ResourceAttributeDefinition<T>getDefinition()Returns applicable definition.StringgetNativeAttributeName()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 interface:ItemReturns applicable definition.May return null if no definition is applicable or the definition is not known.
- Specified by:
getDefinitionin interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>- Specified by:
getDefinitionin interfaceItemable- Specified by:
getDefinitionin interfaceResourceAttribute<T>- Overrides:
getDefinitionin classcom.evolveum.midpoint.prism.impl.PrismPropertyImpl<T>- Returns:
- applicable 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:
getNativeAttributeNamein interfaceResourceAttribute<T>- Returns:
- native attribute name
-
clone
public ResourceAttribute<T> clone()
Description copied from interface:ItemLiteral clone.- Specified by:
clonein interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>- Specified by:
clonein interfacePrismProperty<T>- Specified by:
clonein interfaceResourceAttribute<T>- Overrides:
clonein classcom.evolveum.midpoint.prism.impl.PrismPropertyImpl<T>
-
cloneComplex
public ResourceAttribute<T> cloneComplex(CloneStrategy strategy)
Description copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>- Specified by:
cloneComplexin interfacePrismProperty<T>- Overrides:
cloneComplexin classcom.evolveum.midpoint.prism.impl.PrismPropertyImpl<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:
getDebugDumpClassNamein classcom.evolveum.midpoint.prism.impl.PrismPropertyImpl<T>
-
applyDefinition
public void applyDefinition(PrismPropertyDefinition<T> definition, boolean force) throws SchemaException
- Specified by:
applyDefinitionin interfaceItem<PrismPropertyValue<T>,PrismPropertyDefinition<T>>- Overrides:
applyDefinitionin classcom.evolveum.midpoint.prism.impl.ItemImpl<PrismPropertyValue<T>,PrismPropertyDefinition<T>>- Throws:
SchemaException
-
-