Interface UpdateOp
-
- All Superinterfaces:
SPIOperation
- All Known Subinterfaces:
UpdateAttributeValuesOp
public interface UpdateOp extends SPIOperation
The developer of a Connector should implement either this interface or theUpdateAttributeValuesOp
interface if the Connector will allow an authorized caller to update (i.e., modify or replace) objects on the target resource.This update method is simpler to implement than {link UpdateAttributeValuesOp}, which must handle any of several different types of update that the caller may specify. However a true implementation of {link UpdateAttributeValuesOp} offers better performance and atomicity semantics.
- Since:
- 1.0
- Author:
- Will Droste
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Uid
update(ObjectClass objectClass, Uid uid, Set<Attribute> replaceAttributes, OperationOptions options)
Update the object specified by theObjectClass
andUid
, replacing the current values of each attribute with the values provided.
-
-
-
Method Detail
-
update
Uid update(ObjectClass objectClass, Uid uid, Set<Attribute> replaceAttributes, OperationOptions options)
Update the object specified by theObjectClass
andUid
, replacing the current values of each attribute with the values provided.For each input attribute, replace all of the current values of that attribute in the target object with the values of that attribute.
If the target object does not currently contain an attribute that the input set contains, then add this attribute (along with the provided values) to the target object.
If the value of an attribute in the input set is
null
, then do one of the following, depending on which is most appropriate for the target:- If possible, remove that attribute from the target object entirely.
- Otherwise, replace all of the current values of that
attribute in the target object with a single value of
null
.
- Parameters:
objectClass
- the type of object to modify. Will never be null.uid
- the uid of the object to modify. Will never be null.replaceAttributes
- set of newAttribute
. the values in this set represent the new, merged values to be applied to the object. This set may also includeoperational attributes
. Will never be null.options
- additional options that impact the way this operation is run. Will never be null.- Returns:
- the
Uid
of the updated object in case the update changes the formation of the unique identifier. - Throws:
UnknownUidException
- if theUid
does not exist on the resource.
-
-