Control is used for specifying the request and response control
information in the API calls.
Control can be divided into two categories:
- request control
- The request control is sent from client to server within the input data
object. It is used to specify and to request information. For example, property
control is used to specify the properties of the entity to be returned. Group
membership control is used to request the groups that the entity belongs to.
- reponse control
- The response control is sent from server to client within the output data
object. Response control is used for sending back control information. For
example, PageResponseControl is used for sending back the cookie to the client
so that the client can send the cookie back to request next page.
The Control data object is at the top level of control hierarchy. All other
controls are extended from it. The Control data object itself is abstract
and is not directly used in a data graph.
The following shows the inheritance relationship among control data objects:
- Control (abstract control)
- PageResponseControl
- PageControl
- PropertyControl
- SearchControl
- LoginControl
- HierarchyControl (abstract control)
- AncestorControl
- DescendantControl
- GroupControl (abstract control)
- GroupMemberControl
- GroupMembershipControl
- SortControl
- DeleteControl
- TypeControl (abstract control)
- DataTypeControl
- EntityTypeControl
- PropertyDefinitionControl
- PropertyExtensionPropertyDefinitionControl
- PropertyExtensionDataTypeControl
- ResponseControl
- RequestControl
- SearchResponseControl
- CheckGroupMembershipControl
- ExternalNameControl