|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.itim.apps.search.SearchMO
Provides a configurable query facility for DirectoryObject. Like other remoteable API classes, a SearchMO is constructed with a PlatformContext and an authenticated Subject. A SearchMO is configured, then executed to obtain a SearchResultsMO object which represents a result set and provides methods to traverse results page by page. The SearchMO controls search execution in a number of ways, such as through its string based filter (an RFC2254 ldap filter), its scope (ONELEVEL_SCOPE or SUBTREE_SCOPE), and its category. The SearchMO also defines the original sort order for a SearchResultsMO through its setSortOrder() - one of ASCENDING_SORT or DESCENDING_SORT, and setSortAttribute() methods. Taken together, the parameters that control search execution and define the contents of a SearchResultsMO are known as search criteria. Last, a SearchResultsMO returned by SearchMO.execute() always contains objects that are accessible to the Subject (to the SystemUser the Subject represents) consistent with permissions defined in system ACLs so that the SearchMO and the SearchResultsMO (the Search API) impose (but also guarantee) authorized access.
Field Summary | |
---|---|
static int |
ASCENDING_SORT
Constant identifying a low to high sort order. |
static int |
DESCENDING_SORT
Constant identifying a high to low sort order. |
static int |
ONELEVEL_SCOPE
Constant identifying a single level search scope. |
static int |
SUBTREE_SCOPE
Constant identifying a subtree level search scope. |
Constructor Summary | |
---|---|
SearchMO(PlatformContext platform,
javax.security.auth.Subject subject)
Constructs a SearchMO with a platform context and a subject. |
Method Summary | |
---|---|
SearchResultsMO |
execute()
Executes the search using the configured parameters. |
void |
execute(SearchResultsMO resultsMO)
Executes the search using the configured parameters. |
java.lang.String[] |
getAttributes()
Returns the set of attributes that will be retrieved for every result returned. |
java.lang.String |
getCategory()
Returns the ObjectProfileCategory for the search. |
CompoundDN |
getContext()
Gets the logicalContext for the search. |
java.lang.String |
getFilter()
Returns the Ldap filter for the search. |
java.util.Locale |
getLocale()
Returns the SearchMO's Locale. |
int |
getMaxSize()
Returns the maximum number of results to be returned from the search. |
OrganizationalContainerMO |
getOrgContext()
Returns the context (base) for the search. |
int |
getPageLinks()
Returns the number of pages to be pre-fetched. |
int |
getPageSize()
Returns the pageSize property. |
java.lang.String |
getProfileName()
Returns the ObjectProfile name for the search. |
int |
getScope()
Returns the scope of the search. |
java.lang.String |
getSortAttribute()
Returns the name of the attribute to sort by. |
int |
getSortOrder()
Returns the sort order for the result set. |
boolean |
isPaging()
Returns true if the result set should be paginated. |
void |
mapToSearchMO(com.ibm.itim.apps.ejb.search.SearchRequest searchRequest)
Copies the parameters in the given SearchRequest into this object. |
static com.ibm.itim.apps.ejb.search.SearchRequest |
mapToSearchRequest(SearchMO searchMO)
Copies the parameters in the given SearchMO into a new SearchRequest. |
void |
setAttributes(java.lang.String[] attributes)
Sets the attributes to retrieve for each result returned. |
void |
setCategory(java.lang.String category)
Sets the Object Profile Category for the search. |
void |
setContext(CompoundDN logicalContext)
Sets the logicalContext for the search, or which node in the OrgChart to start searching from. |
void |
setContext(OrganizationalContainerMO containerMO)
Sets the context (base) for the search, if set, takes precedence over setContext(CompoundDN logicalContext). |
void |
setFilter(java.lang.String filter)
Sets the Ldap filter for the search. |
void |
setLocale(java.util.Locale locale)
Sets the user's Locale. |
void |
setMaxSize(int max)
Sets the maximum number of results to return from the search. |
void |
setPageLinks(int pageLinks)
Sets the number of pages to be pre-fetched on one call to SearchResultsMO.getPage(). |
void |
setPageSize(int pageSize)
Sets the number of DirectoryObjects to return in SearchResultsMO.getPage(). |
void |
setPaging(boolean toggle)
Toggles pagination on/off for the request. |
void |
setProfileName(java.lang.String objProfileName)
Sets the ObjectProfile name for the search. |
void |
setScope(int scope)
Sets the scope of the search. |
void |
setSortAttribute(java.lang.String sortAttribute)
Sets the name of the attribute to sort by. |
void |
setSortOrder(int sortOrder)
Sets the sort order for the result set. |
java.lang.String |
toString()
Overrides Object implementation. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static int ASCENDING_SORT
public static int DESCENDING_SORT
public static int ONELEVEL_SCOPE
public static int SUBTREE_SCOPE
Constructor Detail |
public SearchMO(PlatformContext platform, javax.security.auth.Subject subject)
platform
- PlatformContext holding platform connection information.subject
- Subject representing the authenticated caller.Method Detail |
public SearchResultsMO execute() throws java.rmi.RemoteException, ApplicationException
java.rmi.RemoteException
- Thrown if unable to communicate with platform.
ApplicationException
- Thrown if unable to execute the search.
This is most likely caused by an invalid
parameter in the SearchRequest.public void execute(SearchResultsMO resultsMO) throws java.rmi.RemoteException, ApplicationException
resultsMO
- SearchResultsMO to hold the results of the search. Note,
if the SearchResultsMO object was constructed using a
different user context, that context will be changed to
match the context of this object.
java.rmi.RemoteException
- Thrown if unable to communicate with platform.
ApplicationException
- Thrown if unable to execute the search.
This is most likely caused by an invalid
parameter in the SearchRequest.public void setContext(CompoundDN logicalContext)
logicalContext
- a CompoundDN containing at least
one element.public void setContext(OrganizationalContainerMO containerMO)
containerMO
- an OrganizationalContainerMO.public OrganizationalContainerMO getOrgContext()
public CompoundDN getContext()
public void setLocale(java.util.Locale locale)
locale
- the user's Locale.public java.util.Locale getLocale()
public void setCategory(java.lang.String category)
category
- ObjectProfileCategory for the objects to search for.
May be one of:
public java.lang.String getCategory()
public void setFilter(java.lang.String filter)
filter
- Ldap filter in RFC2254 format for the search.public java.lang.String getFilter()
public void setProfileName(java.lang.String objProfileName)
objProfileName
- ObjectProfile name for the objects to search for.public java.lang.String getProfileName()
public void setSortAttribute(java.lang.String sortAttribute)
sortAttribute
- The name of the attribute to sort by.public java.lang.String getSortAttribute()
public void setScope(int scope)
scope
- int representing scope. Value may be ONELEVEL_SCOPE or
SUBTREE_SCOPE.public int getScope()
public void setMaxSize(int max)
max
- Maximum number of results.public int getMaxSize()
public void setPaging(boolean toggle)
toggle
- true/false option to paginate the result set.public boolean isPaging()
public int getSortOrder()
public void setSortOrder(int sortOrder)
sortOrder
- result set sort order.public void setAttributes(java.lang.String[] attributes)
attributes
- String[] holding the names of attributes to return
with each result. Passing null will be interpreted as
all attributes should be returned.public java.lang.String[] getAttributes()
public void setPageSize(int pageSize)
pageSize
- the number of DirectoryObjects to return in
SearchResultsMO.getPage().public int getPageSize()
public void setPageLinks(int pageLinks)
pageLinks
- the number of pages to be pre-fetched on invoking
SearchResultsMO.getPage().public int getPageLinks()
public static com.ibm.itim.apps.ejb.search.SearchRequest mapToSearchRequest(SearchMO searchMO)
searchMO
- a SearchMO to map to a SearchRequest.
SearchRequest
object.public void mapToSearchMO(com.ibm.itim.apps.ejb.search.SearchRequest searchRequest)
searchRequest
- a SearchRequest object holding parameters to copy
into this SearchMO.public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |