Skip navigation links


org.identityconnectors.framework.spi.operations
Interface UpdateAttributeValuesOp

All Superinterfaces:
SPIOperation, UpdateOp

public interface UpdateAttributeValuesOp
extends UpdateOp

More advanced implementation of UpdateOp to be implemented by connectors that wish to offer better performance and atomicity semantics for the methods UpdateApiOp.addAttributeValues(ObjectClass, Uid, Set, OperationOptions) and UpdateApiOp.removeAttributeValues(ObjectClass, Uid, Set, OperationOptions).


Method Summary
 Uid addAttributeValues(ObjectClass objclass, Uid uid, java.util.Set<Attribute> valuesToAdd, OperationOptions options)
          Update the object specified by the ObjectClass and Uid, adding to the current values of each attribute the values provided.
 Uid removeAttributeValues(ObjectClass objclass, Uid uid, java.util.Set<Attribute> valuesToRemove, OperationOptions options)
          Update the object specified by the ObjectClass and Uid, removing from the current values of each attribute the values provided.

 

Methods inherited from interface org.identityconnectors.framework.spi.operations.UpdateOp
update

 

Method Detail

addAttributeValues

Uid addAttributeValues(ObjectClass objclass,
                       Uid uid,
                       java.util.Set<Attribute> valuesToAdd,
                       OperationOptions options)
Update the object specified by the ObjectClass and Uid, adding to the current values of each attribute the values provided.

For each attribute that the input set contains, add to the current values of that attribute in the target object all of the values of that attribute in the input set.

NOTE that this does not specify how to handle duplicate values. The general assumption for an attribute of a ConnectorObject is that the values for an attribute may contain duplicates. Therefore, in general simply append the provided values to the current value for each attribute.

Parameters:
objclass - the type of object to modify. Will never be null.
uid - the uid of the object to modify. Will never be null.
valuesToAdd - set of Attribute deltas. The values for the attributes in this set represent the values to add to attributes in the object. merged. This set will never include operational 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 - iff the Uid does not exist on the resource.

removeAttributeValues

Uid removeAttributeValues(ObjectClass objclass,
                          Uid uid,
                          java.util.Set<Attribute> valuesToRemove,
                          OperationOptions options)
Update the object specified by the ObjectClass and Uid, removing from the current values of each attribute the values provided.

For each attribute that the input set contains, remove from the current values of that attribute in the target object any value that matches one of the values of the attribute from the input set.

NOTE that this does not specify how to handle unmatched values. The general assumption for an attribute of a ConnectorObject is that the values for an attribute are merely representational state. Therefore, the implementer should simply ignore any provided value that does not match a current value of that attribute in the target object. Deleting an unmatched value should always succeed.

Parameters:
objclass - the type of object to modify. Will never be null.
uid - the uid of the object to modify. Will never be null.
valuesToRemove - set of Attribute deltas. The values for the attributes in this set represent the values to remove from attributes in the object. merged. This set will never include operational 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 - iff the Uid does not exist on the resource.

Skip navigation links


Copyright © 2013, Oracle and/or its affiliates. All rights reserved.