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.
- response 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 list 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
- ChangeControl

- SortControl
- DeleteControl
- TypeControl (abstract control)
- DataTypeControl
- EntityTypeControl
- PropertyDefinitionControl
- PropertyExtensionPropertyDefinitionControl
- PropertyExtensionDataTypeControl
- ResponseControl
- RequestControl
- SearchResponseControl
- ChangeResponseControl

- CheckGroupMembershipControl
- ExternalNameControl