Interface PeriodLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PeriodLookupSession extends OsidSession

This session provides methods for retrieving Periods . The Period represents a billing.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated business view: All period methods in this session operate, retrieve and pertain to periods defined explicitly in the current business. Using an isolated view is useful for managing Periods with the PeriodAdminSession .
  • federated business view: All period methods in this session operate, retrieve and pertain to all periods defined in this business and any other periods implicitly available in this business through business inheritence.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. The methods useFederatedBusinessView() and useIsolatedBusinessView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getBusinessId

      Id getBusinessId()
      Gets the Business Id associated with this session.
      Returns:
      the Business Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBusiness

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

      boolean canLookupPeriods()
      Tests if this user can perform Period lookups. 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 lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativePeriodView

      void useComparativePeriodView()
      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.
    • usePlenaryPeriodView

      void usePlenaryPeriodView()
      A complete view of the Period 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.
    • useFederatedBusinessView

      void useFederatedBusinessView()
      Federates the view for methods in this session. A federated view will include periods in businesses which are children of this business in the business hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBusinessView

      void useIsolatedBusinessView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this business only.
      Compliance:
      mandatory - This method is must be implemented.
    • getPeriod

      Gets the Period specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Period may have a different Id than requested, such as the case where a duplicate Id was assigned to a Period and retained for compatibility.
      Parameters:
      periodId - Id of the Period
      Returns:
      the period
      Throws:
      NotFoundException - periodId not found
      NullArgumentException - periodId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getPeriodsByIds

      Gets a PeriodList corresponding to the given IdList . In plenary mode, the returned list contains all of the periods 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 Periods may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      periodIds - the list of Ids to retrieve
      Returns:
      the returned Period list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - periodIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodsByGenusType

      PeriodList getPeriodsByGenusType(Type periodGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a PeriodList corresponding to the given period genus Type which does not include periods of genus types derived from the specified Type . In plenary mode, the returned list contains all known periods or an error results. Otherwise, the returned list may contain only those periods that are accessible through this session.
      Parameters:
      periodGenusType - a period genus type
      Returns:
      the returned Period list
      Throws:
      NullArgumentException - periodGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodsByParentGenusType

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

      PeriodList getPeriodsByRecordType(Type periodRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a PeriodList containing the given period record Type . In plenary mode, the returned list contains all known periods or an error results. Otherwise, the returned list may contain only those periods that are accessible through this session.
      Parameters:
      periodRecordType - a period record type
      Returns:
      the returned Period list
      Throws:
      NullArgumentException - periodRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodsOnDate

      Gets a PeriodList where to the given DateTime range falls within the period inclusive. Periods containing the given date are matched. In plenary mode, the returned list contains all of the periods 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 Periods may be omitted from the list including returning a unique set.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned Period list
      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.
    • getPeriods

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