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.