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(java.lang.String key)
           
 PartialList<ContentEntityObject> findAllContentForAllLabels(int offset, int maxResults, Label... labels)
          Retrieve all ContentEntityObjects which are labelled with ALL provided labels.
 java.util.List<? extends EditableLabelable> findAllUserLabelledContent(java.lang.String username)
           
 java.util.List findByDetails(java.lang.String name, java.lang.String namespace, java.lang.String owner)
          Find all labels based on the details passed in.
 java.util.List findByDetailsInSpace(java.lang.String name, java.lang.String namespace, java.lang.String owner, java.lang.String spaceKey)
          Find all labels for a specific space, based on the details passed in.
 java.util.List<Label> findByDetailsInSpaces(java.lang.String name, java.lang.String namespace, java.lang.String owner, java.util.Collection<Space> spaces)
          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)
           
 java.util.List<Label> findBySingleDegreeSeparation(EditableLabelable content, int maxResults)
          Find the labels that are a single degree of separation away from the specified content.
 java.util.List<Label> findBySingleDegreeSeparation(EditableLabelable content, java.lang.String spaceKey, int maxResults)
           
 java.util.List findBySingleDegreeSeparation(Label label, int maxResults)
          Find the labels that are a single degree of separation away from the specified label.
 java.util.List findBySingleDegreeSeparation(Label label, java.lang.String spaceKey, int maxResults)
           
 java.util.List findBySpace(java.lang.String spaceKey, java.lang.String namespace)
          Find the labels used to label the content with the specified space.
 int findContentCountForLabel(Label label)
           
 java.util.List<? extends EditableLabelable> findContentForLabel(Label label, int maxResults)
          Deprecated. since 5.3. Use a findContentForAllLabels variant with an offset and maxResults.
 PartialList<ContentEntityObject> findContentInSpaceForAllLabels(int offset, int maxResults, java.lang.String spaceKey, Label... labels)
          Retrieve current ContentEntityObjects in the space which are labelled with ALL provided labels.
 PartialList<ContentEntityObject> findContentInSpacesForAllLabels(int offset, int maxResults, java.util.Set<java.lang.String> spaceKeys, Label... labels)
          Retrieve current ContentEntityObjects in the given spaces which are labelled with ALL provided labels.
 java.util.List<? extends EditableLabelable> findCurrentContentForLabel(Label label)
          Deprecated. since 5.3. Use findForAllLabels(Class, int, int, Label...)
 java.util.List<? extends EditableLabelable> findCurrentContentForLabelAndSpace(Label label, java.lang.String spaceKey)
          Deprecated. Since 5.3. Use findContentInSpaceForAllLabels(int, int, String, Label...).
<T extends EditableLabelable>
PartialList<T>
findForAllLabels(java.lang.Class<T> labelableClass, int offset, int maxResults, Label... labels)
          Retrieve current EditableLabelables which are labelled with ALL provided labels.
 PartialList<EditableLabelable> findForAllLabels(int offset, int maxResults, Label... labels)
          Retrieve EditableLabelables which are labelled with ALL provided labels.
 Labelling findLabellingByContentAndLabel(EditableLabelable content, Label label)
           
 Labelling findLabellingById(long id)
           
 java.util.List findMostPopular(java.lang.String namespace, int maxResults)
          Find the most popular labels.
 java.util.List findMostPopularBySpace(java.lang.String namespace, java.lang.String key, int maxResults)
          Find the most popular labels in the specified space.
 java.util.List findRecentlyUsed(int maxResults)
           
 java.util.List findRecentlyUsedBySpace(java.lang.String key, int maxResults)
           
 java.util.List findRecentlyUsedLabelling(int maxResults)
           
 java.util.List findRecentlyUsedLabellingsBySpace(java.lang.String spaceKey, int maxResults)
           
 java.util.List findRecentlyUsedUserLabellings(java.lang.String username, int maxResults)
           
 java.util.List findRecentlyUsedUserLabels(java.lang.String username, int maxResults)
           
 java.util.List findSpacesContainingContentWithLabel(Label label)
           
 java.util.List findSpacesWithLabel(Label label)
           
 java.util.List findUnusedLabels()
           
 java.util.List getFavouriteSpaces(java.lang.String username)
           
 
Methods inherited from interface bucket.core.persistence.ObjectDao
findAll, findAllSorted, findAllSorted, getPersistentClass, refresh, remove, replicate, save, saveRaw
 

Field Detail

UNLIMITED

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

See Also:
Constant Field Values
Method Detail

findById

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

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

findByLabel

Label findByLabel(Label label)

findByDetails

java.util.List findByDetails(java.lang.String name,
                             java.lang.String namespace,
                             java.lang.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 - Label name (can be null)
namespace - Namespace of the label (can be null)
owner - Owner of the label (can be null)
Returns:
List The list of labels matching the given criteria

findByDetailsInSpace

java.util.List findByDetailsInSpace(java.lang.String name,
                                    java.lang.String namespace,
                                    java.lang.String owner,
                                    java.lang.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 - Label name (can be null)
namespace - Namespace of the label (can be null)
owner - Owner of the label (can be null)
spaceKey - Key of the space whose content must have the returned labels (can be null)
Returns:
List The list of labels matching the given criteria

findByDetailsInSpaces

java.util.List<Label> findByDetailsInSpaces(java.lang.String name,
                                            java.lang.String namespace,
                                            java.lang.String owner,
                                            java.util.Collection<Space> spaces)
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 - Label name (can be null)
namespace - Namespace of the label (can be null)
owner - Owner of the label (can be null)
spaces - Collection of spaces whose content must have the returned labels (can be null)
Returns:
List The list of labels matching the given criteria

findBySpace

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

Parameters:
spaceKey - Key of the space whose content must have the returned labels (can be null)
namespace - Namespace of the label (can be null)
Returns:
a list of labels, or an empty list if none exist.

findMostPopular

java.util.List findMostPopular(java.lang.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 - Maximum size of list to return
Returns:
a list of label instances, or an empty list if non exist.

findMostPopularBySpace

java.util.List findMostPopularBySpace(java.lang.String namespace,
                                      java.lang.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 - of the space whose content must have the returned labels
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

java.util.List findRecentlyUsedBySpace(java.lang.String key,
                                       int maxResults)

findRecentlyUsedLabellingsBySpace

java.util.List findRecentlyUsedLabellingsBySpace(java.lang.String spaceKey,
                                                 int maxResults)

findRecentlyUsed

java.util.List findRecentlyUsed(int maxResults)

findRecentlyUsedLabelling

java.util.List findRecentlyUsedLabelling(int maxResults)

findRecentlyUsedUserLabels

java.util.List findRecentlyUsedUserLabels(java.lang.String username,
                                          int maxResults)

findRecentlyUsedUserLabellings

java.util.List findRecentlyUsedUserLabellings(java.lang.String username,
                                              int maxResults)

findBySingleDegreeSeparation

java.util.List<Label> findBySingleDegreeSeparation(EditableLabelable 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

java.util.List<Label> findBySingleDegreeSeparation(EditableLabelable content,
                                                   java.lang.String spaceKey,
                                                   int maxResults)

findBySingleDegreeSeparation

java.util.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

java.util.List findBySingleDegreeSeparation(Label label,
                                            java.lang.String spaceKey,
                                            int maxResults)

findCurrentContentForLabel

@Deprecated
java.util.List<? extends EditableLabelable> findCurrentContentForLabel(Label label)
Deprecated. since 5.3. Use findForAllLabels(Class, int, int, Label...)

Returns current content with the specified label, sorted by last modification date. Items in the trash are not included - for those items use #findContentForLabel(Label).

Parameters:
label - search for content with this label
Returns:
current content with the specified label, sorted by last modification date.

findCurrentContentForLabelAndSpace

@Deprecated
java.util.List<? extends EditableLabelable> findCurrentContentForLabelAndSpace(Label label,
                                                                                          java.lang.String spaceKey)
Deprecated. Since 5.3. Use findContentInSpaceForAllLabels(int, int, String, Label...).

Returns current content with the specified label and spaceKey. If no spaceKey is specified, a search will be performed against the label only.

Parameters:
label - search for content with this label
spaceKey - (optional) search for content belonging to the space with this spaceKey
Returns:
current content with the specified label and spaceKey.

findContentCountForLabel

int findContentCountForLabel(Label label)

findSpacesContainingContentWithLabel

java.util.List findSpacesContainingContentWithLabel(Label label)

findSpacesWithLabel

java.util.List findSpacesWithLabel(Label label)

findLabellingByContentAndLabel

Labelling findLabellingByContentAndLabel(EditableLabelable content,
                                         Label label)

findLabellingById

Labelling findLabellingById(long id)

deleteLabellingBySpace

void deleteLabellingBySpace(java.lang.String key)

findUnusedLabels

java.util.List findUnusedLabels()

getFavouriteSpaces

java.util.List getFavouriteSpaces(java.lang.String username)
Parameters:
username - username of label owner

findAllUserLabelledContent

java.util.List<? extends EditableLabelable> findAllUserLabelledContent(java.lang.String username)

findContentForLabel

@Deprecated
java.util.List<? extends EditableLabelable> findContentForLabel(Label label,
                                                                           int maxResults)
Deprecated. since 5.3. Use a findContentForAllLabels variant with an offset and maxResults.

Returns content with the specified label, ordered by content id. Items in the trash are included - for only current items use findCurrentContentForLabel(Label).

Parameters:
label - search for content with this label
maxResults - the number of results to return; use -1 to get all results
Returns:
content with the specified label

findForAllLabels

<T extends EditableLabelable> PartialList<T> findForAllLabels(java.lang.Class<T> labelableClass,
                                                              int offset,
                                                              int maxResults,
                                                              Label... labels)
Retrieve current EditableLabelables which are labelled with ALL provided labels.

Parameters:
labelableClass - the type of EditableLabelable to return
offset - the offset into the results
maxResults - the maximum number of results to return
labels - labels which must appear on ContentEntityObjects
Returns:
a partial list of ContentEntityObjects labelled with the labels provided

findForAllLabels

PartialList<EditableLabelable> findForAllLabels(int offset,
                                                int maxResults,
                                                Label... labels)
Retrieve EditableLabelables which are labelled with ALL provided labels. If ContentEntityObjects are returned in the list they may be current or in the trash.

Parameters:
offset - the offset into the results
maxResults - the maximum number of results to return
labels - labels which must appear on ContentEntityObjects
Returns:
a partial list of ContentEntityObjects labelled with the labels provided

findContentInSpaceForAllLabels

PartialList<ContentEntityObject> findContentInSpaceForAllLabels(int offset,
                                                                int maxResults,
                                                                java.lang.String spaceKey,
                                                                Label... labels)
Retrieve current ContentEntityObjects in the space which are labelled with ALL provided labels.

Parameters:
offset - the offset into the results
maxResults - the maximum number of results to return
spaceKey - the key of the space to search in
labels - labels which must appear on ContentEntityObjects
Returns:
a partial list of ContentEntityObjects labelled with the labels provided

findContentInSpacesForAllLabels

PartialList<ContentEntityObject> findContentInSpacesForAllLabels(int offset,
                                                                 int maxResults,
                                                                 java.util.Set<java.lang.String> spaceKeys,
                                                                 Label... labels)
Retrieve current ContentEntityObjects in the given spaces which are labelled with ALL provided labels.

Parameters:
offset - the offset into the results
maxResults - the maximum number of results to return
spaceKeys - the keys of the spaces to search in
labels - labels which must appear on ContentEntityObjects
Returns:
a partial list of ContentEntityObjects labelled with the labels provided

findAllContentForAllLabels

PartialList<ContentEntityObject> findAllContentForAllLabels(int offset,
                                                            int maxResults,
                                                            Label... labels)
Retrieve all ContentEntityObjects which are labelled with ALL provided labels. Includes content in the Trash.

Parameters:
offset - the offset into the results
maxResults - the maximum number of results to return
labels - labels which must appear on ContentEntityObjects
Returns:
a partial list of ContentEntityObjects labelled with the labels provided


Copyright © 2003-2014 Atlassian. All Rights Reserved.