Interface PackageQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
PackageSearchSession

public interface PackageQuerySession extends OsidSession

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.

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

    • getDepotId

      Id getDepotId()
      Gets the Depot Id associated with this session.
      Returns:
      the Depot Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getDepot

      Gets the Depot associated with this session.
      Returns:
      the Depot associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchPackages

      boolean canSearchPackages()
      Tests if this user can perform Package searches. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedDepotView

      void useFederatedDepotView()
      Federates the view for methods in this session. A federated view will include packages in depots which are children of this depot in the depot hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedDepotView

      void useIsolatedDepotView()
      Isolates the view for methods in this session. An isolated view restricts searches to this depot only.
      Compliance:
      mandatory - This method is must be implemented.
    • useNormalizedVersionView

      void useNormalizedVersionView()
      The returns from the lookup methods may omit multiple versions of the same package.
      Compliance:
      mandatory - This method is must be implemented.
    • useDenormalizedVersionView

      void useDenormalizedVersionView()
      All versions of the same package are returned.
      Compliance:
      mandatory - This method is must be implemented.
    • useNormalizedDependencyView

      void useNormalizedDependencyView()
      A normalized view uses a single Package to represent a set of package dependencies.
      Compliance:
      mandatory - This method is must be implemented.
    • useDenormalizedDependencyView

      void useDenormalizedDependencyView()
      A denormalized view returns all dependencies.
      Compliance:
      mandatory - This method is must be implemented.
    • getPackageQuery

      PackageQuery getPackageQuery()
      Gets a package query.
      Returns:
      the package query
      Compliance:
      mandatory - This method must be implemented.
    • getPackagesByQuery

      Gets a list of Packages matching the given package query.
      Parameters:
      packageQuery - the package query
      Returns:
      the returned PackageList
      Throws:
      NullArgumentException - packageQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - packageQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.