Interface PackageSearchSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession, PackageQuerySession

public interface PackageSearchSession extends PackageQuerySession

This session provides methods for searching Packages . The search query is constructed using the PackageQuery . The package record Type also specifies the record for the package query.

getPackagesByQuery() is the basic search method and returns a list of Packages . A more advanced search may be performed with getPackagesBySearch() .It accepts a PackageSearch in addition to the query for the purpose of specifying additional options affecting the entire search, such as ordering. getPackagesBySearch() returns a PackageSearchResults that can be used to access the resulting PackageList or be used to perform a search within the result set through PackageSearch .

This session defines views that offer differing behaviors for searching.

  • federated depot view: searches include packages in depots of which this depot is a ancestor in the depot hierarchy
  • isolated depot view: searches are restricted to packages in this depot
  • normalized version view: multiple versions of the same package are suppressed
  • denormalized version vew: all versions of an installation are returned
  • normalized dependency view: supporting installations upon which other installations depend are suppressed
  • denormalized dependency view: all dependencies are returned

Packages may have a query record indicated by their respective record types. The query record is accessed via the PackageQuery .

  • Method Details

    • getPackageSearch

      PackageSearch getPackageSearch()
      Gets a package search.
      Returns:
      the package search
      Compliance:
      mandatory - This method must be implemented.
    • getPackageSearchOrder

      PackageSearchOrder getPackageSearchOrder()
      Gets a package search order. The PackageSearchOrder is supplied to a PackageSearch to specify the ordering of results.
      Returns:
      the package search order
      Compliance:
      mandatory - This method must be implemented.
    • getPackagesBySearch

      PackageSearchResults getPackagesBySearch(PackageQuery packageQuery, PackageSearch packageSearch) throws OperationFailedException, PermissionDeniedException
      Gets the search results matching the given search query using the given search.
      Parameters:
      packageQuery - the package query
      packageSearch - the package search
      Returns:
      the returned search results
      Throws:
      NullArgumentException - packageQuery or packageSearch is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - packageSearch or packageQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getPackageQueryFromInspector

      PackageQuery getPackageQueryFromInspector(PackageQueryInspector packageQueryInspector)
      Gets a package query from an inspector. The inspector is available from a PackageeSearchResults .
      Parameters:
      packageQueryInspector - a package query inspector
      Returns:
      the package query
      Throws:
      NullArgumentException - packageQueryInspector is null
      UnsupportedException - packageQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.