Interface RecipeQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
RecipeSearchSession

public interface RecipeQuerySession extends OsidSession

This session provides methods for searching among Recipe objects. The search query is constructed using the RecipeQuery.

This session defines views that offer differing behaviors for searching.

  • federated cookbook view: searches include recipes in cookbooks of which this cookbook is an ancestor in the cookbook hierarchy
  • isolated cookbook view: searches are restricted to recipes in this cookbooks

Recipes may have a query record indicated by their respective record types. The query record is accessed via the RecipeQuery.

  • 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.
    • canSearchRecipes

      boolean canSearchRecipes()
      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 not offer lookup operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedCookbookView

      void useFederatedCookbookView()
      Federates the view for methods in this session. A federated view will include recipes in cookbook 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 searches to this cookbook only.
      Compliance:
      mandatory - This method is must be implemented.
    • getRecipeQuery

      RecipeQuery getRecipeQuery()
      Gets a recipe query.
      Returns:
      the recipe query
      Compliance:
      mandatory - This method must be implemented.
    • getRecipesByQuery

      Gets a list of Recipes matching the given recipe query.
      Parameters:
      recipeQuery - the recipe query
      Returns:
      the returned RecipeList
      Throws:
      NullArgumentException - recipeQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - recipeQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.