com.atlassian.confluence.labels.persistence.dao
Interface LabelDao

All Superinterfaces:
ObjectDao
All Known Implementing Classes:
HibernateLabelDao

public interface LabelDao
extends ObjectDao


Field Summary
static int UNLIMITED
          Specify no limit on the number of results returned by the dao.
 
Method Summary
 void deleteLabellingBySpace(String key)
           
 List findAllUserLabelledContent(String username)
           
 List findByDetails(String name, String namespace, String owner)
          Find all labels based on the details passed in.
 List findByDetailsInSpace(String name, String namespace, String owner, String spaceKey)
          Find all labels for a specific space, based on the details passed in.
 Label findById(long id)
          Find the label by its id.
 Label findByLabel(Label label)
           
 List findBySingleDegreeSeparation(ContentEntityObject content, int maxResults)
          Find the labels that are a single degree of separation away from the specified content.
 List findBySingleDegreeSeparation(ContentEntityObject content, String spaceKey, int maxResults)
           
 List findBySingleDegreeSeparation(Label label, int maxResults)
          Find the labels that are a single degree of separation away from the specified label.
 List findBySingleDegreeSeparation(Label label, String spaceKey, int maxResults)
           
 List findBySpace(String spaceKey, String namespace)
          Find the labels used to label the content with the specified space.
 int findContentCountForLabel(Label label)
           
 List findCurrentContentForLabel(Label label)
           
 List findCurrentContentForLabelAndSpace(Label label, String spaceKey)
           
 Labelling findLabellingByContentAndLabel(ContentEntityObject content, Label label)
           
 Labelling findLabellingById(long id)
           
 List findMostPopular(String namespace, int maxResults)
          Find the most popular labels.
 List findMostPopularBySpace(String namespace, String key, int maxResults)
          Find the most popular labels in the specified space.
 List findRecentlyUsed(int maxResults)
           
 List findRecentlyUsedBySpace(String key, int maxResults)
           
 List findRecentlyUsedLabelling(int maxResults)
           
 List findRecentlyUsedLabellingsBySpace(String spaceKey, int maxResults)
           
 List findRecentlyUsedUserLabellings(String username, int maxResults)
           
 List findRecentlyUsedUserLabels(String username, int maxResults)
           
 List findSpacesContainingContentWithLabel(Label label)
           
 List findSpacesWithLabel(Label label)
           
 List findUnusedLabels()
           
 List getFavouriteSpaces(String username)
           
 
Methods inherited from interface bucket.core.persistence.ObjectDao
findAll, findAllSorted, getPersistentClass, refresh, remove, replicate, save, saveRaw
 

Field Detail

UNLIMITED

public static final int UNLIMITED
Specify no limit on the number of results returned by the dao.

See Also:
Constant Field Values
Method Detail

findById

public Label findById(long id)
Find the label by its id.

Parameters:
id -
Returns:
a label instance, or null if the label does not exist.

findByLabel

public Label findByLabel(Label label)

findByDetails

public List findByDetails(String name,
                          String namespace,
                          String owner)
Find all labels based on the details passed in. If a parameter is null, it will not be considered in the search.

The list of labels returned will be ordered by name.

Parameters:
name -
namespace -
owner -
Returns:
List

findByDetailsInSpace

public List findByDetailsInSpace(String name,
                                 String namespace,
                                 String owner,
                                 String spaceKey)
Find all labels for a specific space, based on the details passed in. If a parameter is null, it will not be considered in the search.

The list of labels returned will be ordered by name.

Parameters:
name -
namespace -
owner -
Returns:
List

findBySpace

public List findBySpace(String spaceKey,
                        String namespace)
Find the labels used to label the content with the specified space.

Parameters:
spaceKey -
namespace -
Returns:
a list of labels, or an empty list if non exist.

findMostPopular

public List findMostPopular(String namespace,
                            int maxResults)
Find the most popular labels. Label popularity is defined by the number of times a label has been used / applied to content.

Parameters:
maxResults -
Returns:
a list of label instances, or an empty list if non exist.

findMostPopularBySpace

public List findMostPopularBySpace(String namespace,
                                   String key,
                                   int maxResults)
Find the most popular labels in the specified space. You can restrict the number of results returned by this query by setting the maxResults parameter.

Parameters:
key -
maxResults - allows you to specify the maximum number of results returned by this method. Leaving max results at zero will return all of the results.
Returns:
a list of LabelSearchResult objects that map the label to the number of times it appears in the space.

findRecentlyUsedBySpace

public List findRecentlyUsedBySpace(String key,
                                    int maxResults)

findRecentlyUsedLabellingsBySpace

public List findRecentlyUsedLabellingsBySpace(String spaceKey,
                                              int maxResults)

findRecentlyUsed

public List findRecentlyUsed(int maxResults)

findRecentlyUsedLabelling

public List findRecentlyUsedLabelling(int maxResults)

findRecentlyUsedUserLabels

public List findRecentlyUsedUserLabels(String username,
                                       int maxResults)

findRecentlyUsedUserLabellings

public List findRecentlyUsedUserLabellings(String username,
                                           int maxResults)

findBySingleDegreeSeparation

public List findBySingleDegreeSeparation(ContentEntityObject content,
                                         int maxResults)
Find the labels that are a single degree of separation away from the specified content. This query will retrieve the labels on the given content object and find any content with those labels. The labels that are used on the second "level" of content will be returned. e.g. Page H is passed in as the content object, which is labelled with A and B. All pages labelled with A and B are retrieved (J, K, L, M), and the labels on those four pages are returned in order of frequency.

Parameters:
content - the content object used to search for related labels
maxResults - specifies the number of labels to be returned.
Returns:
a list of labels, ordered by their frequency of occurance.

findBySingleDegreeSeparation

public List findBySingleDegreeSeparation(ContentEntityObject content,
                                         String spaceKey,
                                         int maxResults)

findBySingleDegreeSeparation

public List findBySingleDegreeSeparation(Label label,
                                         int maxResults)
Find the labels that are a single degree of separation away from the specified label. This query will return the labels located on the same pages with the given label, in order of frequency e.g. Page A has labels ABCX, Page B has labels ABX. A query for X will return A (2 uses) then B (1 use)

Parameters:
label - the label to look for on pages
maxResults - the maximum number of results to return
Returns:
a list of labels, ordered by their frequency of occurance.

findBySingleDegreeSeparation

public List findBySingleDegreeSeparation(Label label,
                                         String spaceKey,
                                         int maxResults)

findCurrentContentForLabel

public List findCurrentContentForLabel(Label label)

findCurrentContentForLabelAndSpace

public List findCurrentContentForLabelAndSpace(Label label,
                                               String spaceKey)

findContentCountForLabel

public int findContentCountForLabel(Label label)

findSpacesContainingContentWithLabel

public List findSpacesContainingContentWithLabel(Label label)

findSpacesWithLabel

public List findSpacesWithLabel(Label label)

findLabellingByContentAndLabel

public Labelling findLabellingByContentAndLabel(ContentEntityObject content,
                                                Label label)

findLabellingById

public Labelling findLabellingById(long id)

deleteLabellingBySpace

public void deleteLabellingBySpace(String key)

findUnusedLabels

public List findUnusedLabels()

getFavouriteSpaces

public List getFavouriteSpaces(String username)
Parameters:
username - username of label owner

findAllUserLabelledContent

public List findAllUserLabelledContent(String username)


Confluence is developed by Atlassian.