Interface CreditLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CreditLookupSession extends OsidSession

This session defines methods for retrieving credits.

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated billing view: All credit methods in this session operate, retrieve and pertain to credits defined explicitly in the current billing. Using an isolated view is useful for managing credits with the CreditAdminSession .
  • federated billing view: All credit lookup methods in this session operate, retrieve and pertain to all credits defined in this billing and any other billings implicitly available in this billing through billing inheritence.
  • effective credit view: All credit lookup methods return credits where the current date falls in between the effective dates inclusive.
  • any effective credit view: Credits of any effective date are returned from methods.

The methods useFederatedBillingView() and useIsolatedBillingView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getBillingId

      Id getBillingId()
      Gets the Billing Id associated with this session.
      Returns:
      the Billing Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBilling

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

      boolean canLookupCredits()
      Tests if this user can examine this billing. 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 these operations.
      Returns:
      false if billing reading methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeCreditView

      void useComparativeCreditView()
      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.
    • usePlenaryCreditView

      void usePlenaryCreditView()
      A complete view of the Credit 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.
    • useFederatedBillingView

      void useFederatedBillingView()
      Federates the view for methods in this session. A federated view will include credits in billings which are children of this billing in the billing hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBillingView

      void useIsolatedBillingView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this billing only.
      Compliance:
      mandatory - This method is must be implemented.
    • useEffectiveCreditView

      void useEffectiveCreditView()
      Only credits whose effective dates are current are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyEffectiveCreditView

      void useAnyEffectiveCreditView()
      All credits of any effective dates are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getCredit

      Gets the Credit specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Credit may have a different Id than requested, such as the case where a duplicate Id was assigned to a Credit and retained for compatibility. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditId - the Id of the Credit to retrieve
      Returns:
      the returned Credit
      Throws:
      NotFoundException - no Credit found with the given Id
      NullArgumentException - creditId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByIds

      Gets a CreditList corresponding to the given IdList . In plenary mode, the returned list contains all of the credits specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible credits may be omitted from the list and may present the elements in any order including returning a unique set. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditIds - the list of Ids to retrieve
      Returns:
      the returned Credit list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - creditIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusType

      CreditList getCreditsByGenusType(Type creditGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList corresponding to the given credit genus Type which does not include credits of types derived from the specified Type . In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditGenusType - a credits genus type
      Returns:
      the returned Credit list
      Throws:
      NullArgumentException - creditGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByParentGenusType

      CreditList getCreditsByParentGenusType(Type creditGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList corresponding to the given credit genus Type and include any additional credits with genus types derived from the specified Type . In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditGenusType - a credit genus type
      Returns:
      the returned Credit list
      Throws:
      NullArgumentException - creditGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByRecordType

      CreditList getCreditsByRecordType(Type creditRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList containing the given credit record Type . In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditRecordType - a credit record type
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - creditRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsOnDate

      Gets a CreditList effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeOnDate

      CreditList getCreditsByGenusTypeOnDate(Type creditGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits of the given genus type and effective entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      creditGenusType - a credit genus Type
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - creditGenusType, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForResource

      CreditList getCreditsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList for the given resource Id . In plenary mode, the returned list contains all of the credits corresponding to the given peer, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - the Id of the resource
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForResourceOnDate

      CreditList getCreditsForResourceOnDate(Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits for a resource and effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForResource

      CreditList getCreditsByGenusTypeForResource(Id resourceId, Type creditGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits by a genus type for a resource. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      creditGenusType - a credit genus Type
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - creditGenusType or resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForResourceOnDate

      CreditList getCreditsByGenusTypeForResourceOnDate(Id resourceId, Type creditGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits by genus type for a resource and effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      creditGenusType - a credit genus Type
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, creditGenusType, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForReference

      CreditList getCreditsForReference(Id referenceId) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList for the given reference Id . In plenary mode, the returned list contains all of the credits corresponding to the given peer, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      referenceId - a reference Id
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForReferenceOnDate

      CreditList getCreditsForReferenceOnDate(Id referenceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits for a reference and effective entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      referenceId - a reference Id
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - referenceId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForReference

      CreditList getCreditsByGenusTypeForReference(Id referenceId, Type creditGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits by a genus type for a reference. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      referenceId - a reference Id
      creditGenusType - a credit genus Type
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - referenceId or creditGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForReferenceOnDate

      CreditList getCreditsByGenusTypeForReferenceOnDate(Id referenceId, Type creditGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of credits of the given genus type for a reference and effective entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      referenceId - a reference Id
      creditGenusType - a credit genus Type
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - referenceId, creditGenusType, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForResourceAndReference

      CreditList getCreditsForResourceAndReference(Id resourceId, Id referenceId) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList for the given resource and reference. In plenary mode, the returned list contains all of the credits corresponding to the given resource and reference, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      referenceId - a reference Id
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - resourceId or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsForResourceAndReferenceOnDate

      CreditList getCreditsForResourceAndReferenceOnDate(Id resourceId, Id referenceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList corresponding to the given resource and reference and effective entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all of the credits corresponding to the given peer, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      referenceId - a reference Id
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForResourceAndReference

      CreditList getCreditsByGenusTypeForResourceAndReference(Id resourceId, Id referenceId, Type creditGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList of the given genus type for the given resource and reference. In plenary mode, the returned list contains all of the credits corresponding to the given resource and reference, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      referenceId - a reference Id
      creditGenusType - a credit genus Type
      Returns:
      the returned CreditList
      Throws:
      NullArgumentException - resourceId , referenceId , or creditGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsByGenusTypeForResourceAndReferenceOnDate

      CreditList getCreditsByGenusTypeForResourceAndReferenceOnDate(Id resourceId, Id referenceId, Type creditGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a CreditList of the given genus type corresponding to the given resource and reference and effective entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all of the credits corresponding to the given peer, including duplicates, or an error results if a credit is inaccessible. Otherwise, inaccessible Credits may be omitted from the list. In effective mode, credits are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective credits and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      referenceId - a reference Id
      creditGenusType - a credit genus Type
      from - start of date range
      to - end of date range
      Returns:
      the returned CreditList
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, referenceId , creditGenusType , from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCredits

      Gets all credits. In plenary mode, the returned list contains all known credits or an error results. Otherwise, the returned list may contain only those credits that are accessible through this session. In effective mode, credits are returned that are currently effective. In any effective mode, effective credits and those currently expired are returned.
      Returns:
      a list of credits
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.