Interface PackageDepotSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PackageDepotSession extends OsidSession

This session provides methods to retrieve Package to Depot mappings. A Package may appear in multiple Depots . Each Depot may have its own authorizations governing who is allowed to look at it.

This lookup session defines two views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • Method Details

    • canLookupPackageDepotMappings

      boolean canLookupPackageDepotMappings()
      Tests if this user can perform lookups of package/depot mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known lookup 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 lookup operations to unauthorized users.
      Returns:
      false if looking up mappings is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeDepotView

      void useComparativeDepotView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryDepotView

      void usePlenaryDepotView()
      A complete view of the Package and Depot returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      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.
    • getPackageIdsByDepot

      Gets the list of Package Ids associated with a Depot .
      Parameters:
      depotId - Id of the Depot
      Returns:
      list of related package Ids
      Throws:
      NotFoundException - depotId is not found
      NullArgumentException - depotId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPackagesByDepot

      Gets the list of Packages associated with a Depot .
      Parameters:
      depotId - Id of the Depot
      Returns:
      list of related packages
      Throws:
      NotFoundException - depotId is not found
      NullArgumentException - depotId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPackageIdsByDepots

      IdList getPackageIdsByDepots(IdList depotIds) throws OperationFailedException, PermissionDeniedException
      Gets the list of Package Ids corresponding to a list of Depots .
      Parameters:
      depotIds - list of depot Ids
      Returns:
      list of package Ids
      Throws:
      NullArgumentException - depotIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPackagesByDepots

      Gets the list of Packages corresponding to a list of Depots .
      Parameters:
      depotIds - list of depot Ids
      Returns:
      list of packages
      Throws:
      NullArgumentException - depotIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDepotIdsByPackage

      Gets the list of Depot Ids mapped to a Package .
      Parameters:
      packageId - Id of a Package
      Returns:
      list of depot Ids
      Throws:
      NotFoundException - packageId is not found
      NullArgumentException - packageId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDepotsByPackage

      Gets the list of Depots mapped to a Package .
      Parameters:
      packageId - Id of a Package
      Returns:
      list of depots
      Throws:
      NotFoundException - packageId is not found
      NullArgumentException - packageId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.