Interface LocationLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LocationLookupSession extends OsidSession

This session defines methods for retrieving locations.

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 map view: All location methods in this session operate, retrieve and pertain to locations defined explicitly in the current map. Using an isolated view is useful for managing Locations with the LocationAdminSession .
  • federated map view: All location lookup methods in this session operate, retrieve and pertain to all locations defined in this map and any other locations implicitly available in this map through map inheritence.

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

Locations may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Locations .

  • Method Details

    • getMapId

      Id getMapId()
      Gets the Map Id associated with this session.
      Returns:
      the Map Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getMap

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

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

      void useComparativeLocationView()
      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.
    • usePlenaryLocationView

      void usePlenaryLocationView()
      A complete view of the Location 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.
    • useFederatedMapView

      void useFederatedMapView()
      Federates the view for methods in this session. A federated view will include locations in maps which are children of this map in the map hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedMapView

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

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

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

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

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

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

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