Class SearchClientImpl<ItemType>

java.lang.Object
com.lexmark.saperion.client.implementation.SearchClientImpl<ItemType>
All Implemented Interfaces:
SearchClient<ItemType>, com.lexmark.saperion.search.SearchExecutionService<ItemType>
Direct Known Subclasses:
FolderDocumentSearchServiceClientImpl, GroupMembershipClientForGroupsImpl, GroupMembershipClientForUsersImpl, TenantManagementClientImpl

public class SearchClientImpl<ItemType> extends Object implements SearchClient<ItemType>
This is the default implementation of SearchClient.
Author:
jschwarz
  • Constructor Summary

    Constructors
    Constructor
    Description
    SearchClientImpl(com.lexmark.saperion.search.SearchExecutionService<ItemType> searchService)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    exists(com.lexmark.saperion.search.expression.Expression filter)
    This convenience method checks whether an element matching the filter actually exists.
    This method returns an iterable over the complete result of the search using the default paging.
    list(com.lexmark.saperion.search.expression.Expression filter)
    This method returns an iterable over the filtered result of the search using the default paging.
    list(com.lexmark.saperion.search.expression.Expression filter, com.lexmark.saperion.search.PageDefinition paging)
    This method returns an iterable over the filtered result of the search paging as defined.
    list(com.lexmark.saperion.search.expression.Expression filter, List<com.lexmark.saperion.search.query.FieldOrderDescriptor> order, com.lexmark.saperion.search.PageDefinition paging)
    This method returns an iterable over the filtered result of the search paging as defined.
    list(com.lexmark.saperion.search.query.Statement statement, com.lexmark.saperion.search.PageDefinition paging)
    This method returns an iterable over the filtered result of the search paging as defined.
    list(List<String> fields, com.lexmark.saperion.search.expression.Expression filter, com.lexmark.saperion.search.PageDefinition paging)
    This method returns an iterable over the filtered result of the search paging as defined.
    list(List<String> fields, com.lexmark.saperion.search.expression.Expression filter, List<com.lexmark.saperion.search.query.FieldOrderDescriptor> order, com.lexmark.saperion.search.PageDefinition paging)
    This method returns an iterable over the filtered result of the search paging as defined.
    com.lexmark.saperion.search.SearchResultPage<ItemType>
    page(int offset, int pageSize)
    This method retrieves the given page of the result of the search.
    com.lexmark.saperion.search.SearchResultPage<ItemType>
    page(com.lexmark.saperion.search.PageDefinition paging)
    This method retrieves the given page of the result of the search.
    com.lexmark.saperion.search.SearchResultPage<ItemType>
    search(com.lexmark.saperion.search.query.Statement statement, com.lexmark.saperion.search.PageDefinition pageDefinition)
     
    uniqueResult(com.lexmark.saperion.search.expression.Expression filter)
    This convenience method expects the filter to return at most one result.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SearchClientImpl

      public SearchClientImpl(com.lexmark.saperion.search.SearchExecutionService<ItemType> searchService)
  • Method Details

    • search

      public com.lexmark.saperion.search.SearchResultPage<ItemType> search(com.lexmark.saperion.search.query.Statement statement, com.lexmark.saperion.search.PageDefinition pageDefinition) throws com.lexmark.saperion.exceptions.EcmException
      Specified by:
      search in interface com.lexmark.saperion.search.SearchExecutionService<ItemType>
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(com.lexmark.saperion.search.query.Statement statement, com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search paging as defined.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      statement - a statement filtering the result
      paging - the paging the returned iterator should use
      Returns:
      an iterator over the filtered result paging as defined.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(List<String> fields, com.lexmark.saperion.search.expression.Expression filter, List<com.lexmark.saperion.search.query.FieldOrderDescriptor> order, com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search paging as defined.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      fields - the fields of the result to deliver
      filter - a filter for the result
      order - the order of the result list
      paging - the paging the returned iterator should use
      Returns:
      an iterator over the filtered result paging as defined.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(List<String> fields, com.lexmark.saperion.search.expression.Expression filter, com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search paging as defined.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      fields - the fields of the result to deliver
      filter - a filter for the result
      paging - the paging the returned iterator should use
      Returns:
      an iterator over the filtered result paging as defined.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(com.lexmark.saperion.search.expression.Expression filter, List<com.lexmark.saperion.search.query.FieldOrderDescriptor> order, com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search paging as defined.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      filter - a filter for the result
      order - the order of the result list
      paging - the paging the returned iterator should use
      Returns:
      an iterator over the filtered result paging as defined.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(com.lexmark.saperion.search.expression.Expression filter, com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search paging as defined.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      filter - a filter for the result
      paging - the paging the returned iterator should use
      Returns:
      an iterator over the filtered result paging as defined.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list(com.lexmark.saperion.search.expression.Expression filter) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the filtered result of the search using the default paging.
      Specified by:
      list in interface SearchClient<ItemType>
      Parameters:
      filter - a filter for the result
      Returns:
      an iterator over the filtered result using the default paging.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • list

      public Iterable<ItemType> list() throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method returns an iterable over the complete result of the search using the default paging.
      Specified by:
      list in interface SearchClient<ItemType>
      Returns:
      an iterator over the complete result using the default paging.
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • uniqueResult

      public ItemType uniqueResult(com.lexmark.saperion.search.expression.Expression filter) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This convenience method expects the filter to return at most one result. If no such element exists null is returned. If one such element exists it is returned. Otherwise an IllegalRequestException is thrown.
      Specified by:
      uniqueResult in interface SearchClient<ItemType>
      Parameters:
      filter - a filter yielding true for at most one element
      Returns:
      the element the filter yields true for
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • exists

      public boolean exists(com.lexmark.saperion.search.expression.Expression filter) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This convenience method checks whether an element matching the filter actually exists.
      Specified by:
      exists in interface SearchClient<ItemType>
      Parameters:
      filter - the filter to check
      Returns:
      whether an element matching the filter actually exists
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • page

      public com.lexmark.saperion.search.SearchResultPage<ItemType> page(com.lexmark.saperion.search.PageDefinition paging) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method retrieves the given page of the result of the search.
      Specified by:
      page in interface SearchClient<ItemType>
      Parameters:
      paging - the page to retrieve
      Returns:
      the given page of the result of the search
      Throws:
      com.lexmark.saperion.exceptions.EcmException
    • page

      public com.lexmark.saperion.search.SearchResultPage<ItemType> page(int offset, int pageSize) throws com.lexmark.saperion.exceptions.EcmException
      Description copied from interface: SearchClient
      This method retrieves the given page of the result of the search.
      Specified by:
      page in interface SearchClient<ItemType>
      Parameters:
      offset - the offset of the page
      pageSize - the size of the page
      Returns:
      the given page of the result of the search
      Throws:
      com.lexmark.saperion.exceptions.EcmException