Interface LikeManager

  • All Known Implementing Classes:
    DefaultLikeManager

    @Transactional
    public interface LikeManager
    Controls all access to Like-ing and Unlike-ing content.
    Since:
    4.3
    • Method Detail

      • addLike

        Like addLike​(ContentEntityObject contentEntity,
                     com.atlassian.user.User user)
        Add a like for the provided user.
        Parameters:
        user - the user
        contentEntity - the content entity to add a like to
      • removeLike

        void removeLike​(ContentEntityObject contentEntity,
                        com.atlassian.user.User user)
        Remove like from content entity for the current logged in user.
        Parameters:
        user - the user
        contentEntity - content entity to remove like from
      • removeAllLikesOn

        void removeAllLikesOn​(ContentEntityObject content)
        Removes all likes (for any user) from the specified content entity.
        Parameters:
        content - content entity
      • removeAllLikesFor

        @Deprecated
        void removeAllLikesFor​(String username)
        Deprecated.
        since 6.13. User removeAllLikesFor(UserKey) instead.
        Removes all likes (for any user) from the specified content entity.
        Parameters:
        username - the name of the user to remove all likes for
      • removeAllLikesFor

        void removeAllLikesFor​(@NonNull com.atlassian.sal.api.user.UserKey key)
        Remove all likes for the given userkey.
        Parameters:
        key - a userKey. If no such user exists, this method will be a noop.
      • hasLike

        boolean hasLike​(ContentEntityObject contentEntity,
                        com.atlassian.user.User user)
        Returns true if the provided user likes this content entity.
        Parameters:
        contentEntity - the content entity
        user - the user who would like this content
        Returns:
        true if the provided user likes this content entity.
      • getLikes

        @Transactional(readOnly=true)
        List<Like> getLikes​(ContentEntityObject contentEntity)
        Gets all the likes for the specified content entity (likes are ordered such that recent likes come first)
        Parameters:
        contentEntity - the content entity
        Returns:
        all the likes for the specified content entity.
      • getLikes

        @Transactional(readOnly=true)
        Map<Long,​List<Like>> getLikes​(Collection<? extends ContentEntityObject> contentEntities)
        Gets all the likes for the specified content entities (likes are ordered such that recent likes come first).
        Parameters:
        contentEntities - content entities
        Returns:
        a map of contentId to a set of all the likes for that piece of content.
      • countLikes

        @Transactional(readOnly=true)
        Map<Searchable,​Integer> countLikes​(Collection<? extends Searchable> searchables)
        Count the number of likes for the given objects
        Parameters:
        searchables - A searchable object whose ID must be set
        Returns:
        A map mapping the object to the number of likes it has. If an object no longer exists, it has 0 likes.
      • countLikes

        @Transactional(readOnly=true)
        int countLikes​(Searchable searchable)
        Count the number of likes for the given object
        Parameters:
        searchable - A searchable object whose ID must be set
        Returns:
        The number of likes it has. If an object no longer exists, it has 0 likes.