System.Object
ChangeRequestType
Client Declaration
public class ChangeRequestType
Represents the actions to be applied to a single Content Engine object. An array of ChangeRequestType
elements are contained in an ExecuteChangesRequest
request of an ExecuteChanges
operation.
Elements
ActionType[]
Action
: [request] Required element specifying the set of actions
to be applied to an object. Each Action
element, which is derived from the ActionType
base, abstract element, consists of a specific supported action (or verb) to be applied to the object.ModifiedPropertiesType
ActionProperties
: [request] Optional element specifying the list
of property values to be applied to the new or updated object. It can be omitted
if there are no property changes to be performed as part of the update, or
in the case of a delete action.PropertyFilterType
RefreshFilter
: [request] Optional element specifying how properties
are to be filtered in the returned refreshed object. An ExecuteChangesRequest
element's refresh
attribute must be specified during an ExecuteChanges
operation for the property filter to apply. If it is not specified, the value
of RefreshFilter
will be validated but have no effect on
the response object.ObjectReference
TargetSpecification
:
[request] Required element that specifies one of the following, according to whether an action causes changes to an existing object or the creation of a new object:
Attributes
String
id
: [request] Optional identifying string reflected in the corresponding
ChangeResponseType
element of the ExecuteChanges
response, allowing a request and response element to be correlated. This attribute can also specify an identifier for the object created or updated from the action for subsequent inclusion in an ExecuteChanges
operation as the value for an object-valued property. This allows you to create several related objects in a batch by matching this attribute with the ObjectSpecification
element's batchRef
attribute.Int32
updateSequenceNumber
: [request] Optional expression specifying
an update sequence number (USN) that, if present, is compared to the USN of
the object specified by TargetSpecification
when it is retrieved.
If it is different, the operation will fail. A USN is an integer value possessed by independently
persistable objects only, which increases monotonically with each
update to the object. As a means of protecting against concurrent updates when you are updating an object, the USN from the retrieved object can be returned and checked against the current persisted value. For a create action, this attribute is relevant for a class definition creation only; the target specified is set to the superclass of the new class, and the USN is set to that of the
superclass class definition object. A value of -1 indicates this attribute is not specified.Attributes Specific to .NET Clients
Boolean
updateSequenceNumberSpecified
: Optional expression specifying whether updateSequenceNumber
has a value (true
) or not (false
).// Build the change request, which consists of actions and the object they will act on ChangeRequestType elemChangeRequestType = new ChangeRequestType(); // Create array for one action elemChangeRequestType.Action = new ActionType[1]; // Assign it to a previously created Create action elemChangeRequestType.Action[0] = (ActionType)createVerb; // Specify the target object for the action elemChangeRequestType.TargetSpecification = new ObjectReference(); elemChangeRequestType.TargetSpecification.classId = "ObjectStore"; elemChangeRequestType.TargetSpecification.objectId = txtLibrary.Text; elemChangeRequestType.id = "1"; // Build a list of properties to exclude on the refreshed folder object that is returned string[] excludeProps = new string[2]; excludeProps[0] = "Owner"; excludeProps[1] = "DateLastModified"; // Assign the list of props to exclude to the change request elemChangeRequestType.RefreshFilter = new PropertyFilterType(); elemChangeRequestType.RefreshFilter.ExcludeProperties = excludeProps;
<xsd:complexType name="ChangeRequestType"> <xsd:sequence> <xsd:element name="TargetSpecification" type="ObjectReference"/> <xsd:element maxOccurs="unbounded" minOccurs="0" name="Action" type="ActionType"/> <xsd:element minOccurs="0" name="ActionProperties" type="ModifiedPropertiesType"/> <xsd:element minOccurs="0" name="RefreshFilter" type="PropertyFilterType"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID"/> <xsd:attribute name="updateSequenceNumber" type="xsd:int"/> </xsd:complexType>