Express (Distributed operating systems), v8.0 > Secure applications and their environment > Authenticate users > Select a registry or repository > Manage realms in a federated repository > Virtual member manager > Reference > Program model > Control DataObject
SearchControl DataObject
SearchControl is used to specify the search criteria.
The structure of a SearchControl data object consists of:
countLimit
specifies the maximum number of search results returned by the search operation. If the actual number of search results is more than the specified countLimit, the hasMoreResults property in the SearchResponse control is set to true. The countLimit property cannot be specified for SearchControl, if PageControl is also used. They are mutually exclusive.
expression
specifies search expression in XPath format.
properties
specifies the properties that you want returned from the entities that match the search criteria. For example, to get the sn and givenName attributes of the persons who is in marketing department.
returnSubType
specifies whether to return the subtypes of the entities specified in the expression. The default setting is true.
searchBases
specifies the search bases used to limit the search to those bases specified in the list.
searchLimit
specifies the maximum number of search results that may be returned by the search operation. If the search results exceeds the smaller number of either searchLimit specified in SearchControl or maxSearchResults specified in the wimconfig.xml file, a MaxResultsExceededException is thrown.If searchLimit is set then countLimit is ignored. If countLimit is set then searchLimit needs to be set to 0.
timeLimit
If the profile repository supports timeLimit, it specifies in milliseconds the maximum duration of the search.
XML schema definition
The following is the XML schema definition for the SearchControl data object:
<xsd:complexType name="SearchControl"> <xsd:complexContent> <xsd:extension base="PropertyControl"> <xsd:sequence> <xsd:element name="searchBases" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="countLimit" type="xsd:int" /> <xsd:attribute name="searchLimit" type="xsd:int" /> <xsd:attribute name="timeLimit" type="xsd:int" default="0"/> <xsd:attribute name="expression" type="xsd:string"/> <xsd:attribute name="returnSubType" type="xsd:boolean" default="true"/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Sample data object
Following is a sample SearchControl DataObject used in the search API. It requests all the persons who have the last name (surname), Doe. It also indicates to return the uid and sn properties if they exist.
<wim:controls xsi:type="wim:SearchControl" countLimit="1" expression="@xsi:type='PersonAccount' and sn='Doe'"> <wim:properties>uid </wim:properties> <wim:properties>sn </wim:properties> <wim:searchBases>o=Sales,cn=users,dc=yourco,dc=com </wim:searchBases> </wim:controls>
Parent topic: Control DataObject