Interface InstallationPackageQuerySession

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

public interface InstallationPackageQuerySession extends OsidSession

This session provides methods for searching InstallationPackages. The search query is constructed using the InstallationPackageQuery. 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

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

  • 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.
    • canSearchInstallationPackages

      boolean canSearchInstallationPackages()
      Tests if this user can perform InstallationPackage 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 InstallationPackage 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.
    • getInstallationPackageQuery

      InstallationPackageQuery getInstallationPackageQuery()
      Gets a package query.
      Returns:
      the package query
      Compliance:
      mandatory - This method must be implemented.
    • getInstallationPackagesByQuery

      InstallationPackageList getInstallationPackagesByQuery(InstallationPackageQuery installationPackageQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of InstallationPackages matching the given package query.
      Parameters:
      installationPackageQuery - the package query
      Returns:
      the returned InstallationPackageList
      Throws:
      NullArgumentException - installationPackageQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - installationPackageQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.