Interface RecipeLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RecipeLookupSession extends OsidSession

This session provides methods for retrieving Recipe objects.

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 cookbook view: All recipe methods in this session operate, retrieve and pertain to recipes defined explicitly in the current cookbook. Using an isolated view is useful for managing Recipes with the RecipeAdminSession .
  • federated cookbook view: All recipe methods in this session operate, retrieve and pertain to all recipes defined in this cookbook and any other recipes implicitly available in this cookbook through cookbook 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 useFederatedCookbookView() and useIsolatedCookbookView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getCookbookId

      Id getCookbookId()
      Gets the Cookbook Id associated with this session.
      Returns:
      the Cookbook Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCookbook

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

      boolean canLookupRecipes()
      Tests if this user can perform Recipe 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.
    • useComparativeRecipeView

      void useComparativeRecipeView()
      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.
    • usePlenaryRecipeView

      void usePlenaryRecipeView()
      A complete view of the Recipe 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.
    • useFederatedCookbookView

      void useFederatedCookbookView()
      Federates the view for methods in this session. A federated view will include recipes in cookbooks which are children of this cookbook in the cookbook hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCookbookView

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

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

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

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

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

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

      RecipeList getRecipesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a RecipeList from the given provider. In plenary mode, the returned list contains all known recipes or an error results. Otherwise, the returned list may contain only those recipes that are accessible through this session.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Recipe list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getRecipes

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