Interface SpaceDao
-
- All Superinterfaces:
ObjectDao
- All Known Subinterfaces:
SpaceDaoInternal
- All Known Implementing Classes:
HibernateSpaceDao
@ParametersAreNonnullByDefault public interface SpaceDao extends ObjectDao
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intcountSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder)Count the spaces specified by theSpacesQuery.intfindPageTotal(Space space)Fast way to count pages in a space without loading them.@NonNull Collection<String>findSpaceKeysWithStatus(String status)find all space keys where the space status is equal to the given status.@NonNull StringfindUniqueVersionOfSpaceKey(String spaceKey)Return a unique version of the supplied spaceKey.@Nullable SpacegetById(long id)intgetNumberOfBlogPosts(Space space)Fast way to count blog posts in a space without loading them.@Nullable SpacegetPersonalSpace(@Nullable ConfluenceUser user)@Nullable SpacegetSpace(@Nullable String spaceKey)Find a space by its space key.@Nullable SpacegetSpaceByContentId(long contentId)Get the space that some content belongs to in a single db query.@NonNull List<Space>getSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder)Get a list of spaces specified by theSpacesQuery.@NonNull List<Space>getSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder, int offset, int maxResults)Get a list of spaces specified by theSpacesQueryWithPermissionQueryBuilder.@NonNull List<Space>getSpacesContainingCommentsByUser(@Nullable String username)Find all spaces containing comments by a particular user.@NonNull List<Space>getSpacesContainingPagesEditedByUser(@Nullable String username)Find all spaces containing pages that were edited by a particular user.@NonNull List<Space>getSpacesCreatedAfter(Date creationDate)@NonNull List<Space>getSpacesCreatedByUser(@Nullable String username)Find all the spaces created by a given user.@NonNull List<Space>getSpacesCreatedOrUpdatedSinceDate(Date previousLoginDate)voidperformOnAll(Consumer<Space> function)Perform the task with all spaces.-
Methods inherited from interface bucket.core.persistence.ObjectDao
findAll, findAllSorted, findAllSorted, findByClassIds, getPersistentClass, refresh, remove, replicate, save, saveRaw
-
-
-
-
Method Detail
-
getById
@Nullable Space getById(long id)
-
getSpacesCreatedByUser
@NonNull List<Space> getSpacesCreatedByUser(@Nullable String username)
Find all the spaces created by a given user.
-
getPersonalSpace
@Nullable Space getPersonalSpace(@Nullable ConfluenceUser user)
- Parameters:
user- the user who's personal space is to be retrieved- Returns:
- the personal space for the specified user or null if none exists
-
getSpacesContainingPagesEditedByUser
@NonNull List<Space> getSpacesContainingPagesEditedByUser(@Nullable String username)
Find all spaces containing pages that were edited by a particular user. This is for tracking down whether a user can be safely deleted or not.- Parameters:
username- the name of the user to track down- Returns:
- a list of the spaces containing pages that were edited by this user, or the empty list if no such spaces exist.
-
getSpacesContainingCommentsByUser
@NonNull List<Space> getSpacesContainingCommentsByUser(@Nullable String username)
Find all spaces containing comments by a particular user. This is for tracking down whether a user can be safely deleted or not.Does currently not include personal spaces, but probably should.
- Parameters:
username- the name of the user to track down- Returns:
- a list of the spaces containing comments by this user, or the empty list if no such spaces exist.
-
getSpacesCreatedOrUpdatedSinceDate
@NonNull List<Space> getSpacesCreatedOrUpdatedSinceDate(Date previousLoginDate)
-
findPageTotal
int findPageTotal(Space space)
Fast way to count pages in a space without loading them. Counts all pages, not just the current versions.- Returns:
- returns the number of all versions of all pages in a space
-
getNumberOfBlogPosts
int getNumberOfBlogPosts(Space space)
Fast way to count blog posts in a space without loading them. Counts all blog posts, not just the current versions.- Returns:
- returns the number of all versions of all blog posts in a space
-
getSpaces
@NonNull List<Space> getSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder, int offset, int maxResults)
Get a list of spaces specified by theSpacesQueryWithPermissionQueryBuilder.- Since:
- 5.9
-
getSpaces
@NonNull List<Space> getSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder)
Get a list of spaces specified by theSpacesQuery. Its recommended to use thegetSpaces(SpacesQueryWithPermissionQueryBuilder, int, int)form of this method where ever possible.- Since:
- 5.9
-
countSpaces
int countSpaces(SpacesQueryWithPermissionQueryBuilder queryWithPermissionClauseBuilder)
Count the spaces specified by theSpacesQuery.- Since:
- 5.9
-
getSpaceByContentId
@Nullable Space getSpaceByContentId(long contentId)
Get the space that some content belongs to in a single db query. This will only work for content that directly belongs to a space (i.e. Pages, Blog Posts, Space Descriptions but not Comments or Attachments) and it will only work for current content (old content is dissassociated from its space)- Parameters:
contentId- the ID of the content- Returns:
- the space that content belongs to
-
findSpaceKeysWithStatus
@NonNull Collection<String> findSpaceKeysWithStatus(String status)
find all space keys where the space status is equal to the given status.- Parameters:
status- the status to search for- Returns:
- all space keys of spaces that match that status
-
findUniqueVersionOfSpaceKey
@NonNull String findUniqueVersionOfSpaceKey(String spaceKey)
Return a unique version of the supplied spaceKey. This is done by checking the database for a duplicate and following the algorithm of counting up until a duplicate is achieved e.g. spaceKey_1, spaceKey_2, etc.- Parameters:
spaceKey- the space key to create a unique version of- Returns:
- the unique space key
-
-