Interface FavouritesStore

All Known Implementing Classes:
CachingFavouritesStore, OfBizFavouritesStore

public interface FavouritesStore
Store used for CRUD of Favourites.
Since:
v3.13
  • Method Details

    • addFavourite

      boolean addFavourite(ApplicationUser user, SharedEntity entity)
      Create Favourites association between User and entity
      Parameters:
      user - User to associate entity with
      entity - the entity to associate with
      Returns:
      true if association was successfully made, else false if it wasn't made or already existed.
    • removeFavourite

      boolean removeFavourite(ApplicationUser user, SharedEntity entity)
      Remove Favourites association between User and entity
      Parameters:
      user - to disassociate entity with
      entity - the entity to disassociate with
      Returns:
      true if association was successfully removed, else false
    • isFavourite

      boolean isFavourite(ApplicationUser user, SharedEntity entity)
      Checks to see if entity is a favourite of the user passed in.
      Parameters:
      user - to check entity with
      entity - the entity to check with
      Returns:
      true if user has favourite association with entity
    • getFavouriteIds

      Collection<Long> getFavouriteIds(ApplicationUser user, SharedEntity.TypeDescriptor<?> entityType)
      Get the ids of a user's favourite Entities for a given entity type
      Parameters:
      user - The user for the associated entities
      entityType - The type of entities to get. E.g. SearchRequest.ENTITY_TYPE
      Returns:
      A Collection on Longs that represent the entities
    • getFavouriteIds

      Collection<Long> getFavouriteIds(String userKey, SharedEntity.TypeDescriptor<?> entityType)
      Get the ids of a user's favourite Entities for a given entity type
      Parameters:
      userKey - The key of the user for the associated entities
      entityType - The type of entities to get. E.g. SearchRequest.ENTITY_TYPE
      Returns:
      A Collection on Longs that represent the entities
    • removeFavouritesForUser

      void removeFavouritesForUser(ApplicationUser user, SharedEntity.TypeDescriptor<?> entityType)
      Remove the favourite associations for the given User and the given type
      Parameters:
      user - The user with whom to disassociate entities with
      entityType - The type of entity to disassociate user with.
    • removeFavouritesForEntity

      void removeFavouritesForEntity(SharedEntity entity)
      Remove all favourite associations for a given entity.
      Parameters:
      entity - The entity to remove all associations with
    • updateSequence

      void updateSequence(ApplicationUser user, List<? extends SharedEntity> favouriteEntities)
      Called to update the sequence of a list of favourite shared entities
      Parameters:
      user - the user in play
      favouriteEntities - the list specifying the order of the SharedEntitys