Package com.atlassian.confluence.content
Interface CustomContentManager
-
- All Superinterfaces:
ContentEntityManager
- All Known Implementing Classes:
DefaultCustomContentManager
@ParametersAreNonnullByDefault public interface CustomContentManager extends ContentEntityManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
CustomContentManager.SortField
static class
CustomContentManager.SortOrder
-
Field Summary
-
Fields inherited from interface com.atlassian.confluence.core.ContentEntityManager
ITERATE_ALL
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description long
countChildrenOfType(CustomContentEntityObject content, String contentModuleKey)
Get the total number of children of a piece of content with the given type@NonNull Iterator<CustomContentEntityObject>
findAllChildren(CustomContentEntityObject content)
Get an iterator of all children of a piece of content.@NonNull Iterator<CustomContentEntityObject>
findAllContainedOfType(long containerContentId, String pluginModuleKey)
Get an iterator of contained content of a piece of content with a given type.@NonNull Collection<CustomContentEntityObject>
findAllInSpace(Space space)
Deprecated.Since 4.2.<T> @NonNull PageResponse<T>
findByQuery(ContentQuery<T> query, boolean cacheable, LimitedRequest request, com.google.common.base.Predicate<T> predicate)
Deprecated.since 7.0.1.<T> @NonNull Iterator<T>
findByQuery(ContentQuery<T> query, int offset, int maxResults)
Get the results of a query for CustomContentEntityObjectsdefault <T> @NonNull PageResponse<T>
findByQueryAndFilter(ContentQuery<T> query, boolean cacheable, LimitedRequest request, Predicate<T> predicate)
Get the results of a query for CustomContentEntityObjects@NonNull Iterator<CustomContentEntityObject>
findChildrenOfType(CustomContentEntityObject content, String contentModuleKey, int offset, int maxResults, CustomContentManager.SortField sortField, CustomContentManager.SortOrder sortOrder)
Get an iterator of children of a piece of content with a given type.@NonNull Iterator<CustomContentEntityObject>
findCurrentInSpace(Space space, String contentModuleKey, int offset, int maxResults, CustomContentManager.SortField sortField, CustomContentManager.SortOrder sortOrder)
Get an iterator of all the current, non-deleted content of the given type in the given space.<T> @Nullable T
findFirstObjectByQuery(ContentQuery<T> query)
Find the first result of a query for CustomContentEntityObjects.int
findTotalInSpace(Space space, String contentModuleKey)
Get the total count of current, non-deleted content of the given type in the given space.@Nullable CustomContentEntityObject
getById(long id)
Find a single CustomContentEntityObject by its id@NonNull PageResponse<Content>
getChildrenOfType(ContentEntityObject entity, String contentModuleKey, LimitedRequest limitedRequest, Expansions expansions, Depth depth, com.google.common.base.Predicate<? super CustomContentEntityObject> predicate)
Deprecated.since 7.0.1.default @NonNull PageResponse<Content>
getChildrenOfTypeAndFilter(ContentEntityObject entity, String contentModuleKey, LimitedRequest limitedRequest, Expansions expansions, Depth depth, Predicate<? super CustomContentEntityObject> predicate)
Returns the children of a CustomContentEntityObject, limited to the pagination requested.@NonNull CustomContentEntityObject
newPluginContentEntityObject(String contentModuleKey)
Create a new CustomContentEntityObject for the given module.<T> @NonNull List<T>
queryForList(ContentQuery<T> query)
Get the results of a query for CustomContentEntityObjects<T> @NonNull List<T>
queryForList(ContentQuery<T> query, int offset, int maxResults)
Get the results of a query for CustomContentEntityObjectsvoid
removeAllInSpace(String contentModuleKey, Space space)
Remove all plugin content of a particular type from a given space.void
removeAllPluginContent(String contentModuleKey)
Remove all plugin content of a particular typevoid
removeAllPluginContentInSpace(Space space)
Remove all plugin content (of all types) from a given space.void
saveContentEntity(ContentEntityObject obj, @Nullable ContentEntityObject origObj, @Nullable SaveContext saveContext)
In order to create a history for this object, we need to pass in the modified as well as the original version of the object.@NonNull CustomContentEntityObject
updatePluginModuleKey(CustomContentEntityObject content, String pluginModuleKey)
Update the type of an existing CustomContentEntityObject with the specified module key.-
Methods inherited from interface com.atlassian.confluence.core.ContentEntityManager
getContributionStatusByUser, getNextVersion, getOtherVersion, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getPreviousVersion, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getVersionHistorySummaries, getVersionsLastEditedByUser, refreshContentEntity, removeContentEntity, removeHistoricalVersion, revertContentEntityBackToVersion, saveContentEntity, saveNewVersion, saveNewVersion
-
-
-
-
Method Detail
-
saveContentEntity
void saveContentEntity(ContentEntityObject obj, @Nullable ContentEntityObject origObj, @Nullable SaveContext saveContext)
Description copied from interface:ContentEntityManager
In order to create a history for this object, we need to pass in the modified as well as the original version of the object.- Specified by:
saveContentEntity
in interfaceContentEntityManager
saveContext
- - aSaveContext
holding additional parameters for the manager to use when saving.
-
newPluginContentEntityObject
@NonNull CustomContentEntityObject newPluginContentEntityObject(String contentModuleKey)
Create a new CustomContentEntityObject for the given module. This method will ensure that the plugin delegate and various necessary arguments are set.- Parameters:
contentModuleKey
- the module complete key of the content's ContentAdapter module- Returns:
- a blank entity object for that plugin
-
updatePluginModuleKey
@NonNull CustomContentEntityObject updatePluginModuleKey(CustomContentEntityObject content, String pluginModuleKey)
Update the type of an existing CustomContentEntityObject with the specified module key.- Parameters:
pluginModuleKey
- the module complete key of the content's ContentAdapter module- Returns:
- a blank entity object for that plugin
-
getById
@Nullable CustomContentEntityObject getById(long id)
Find a single CustomContentEntityObject by its id- Specified by:
getById
in interfaceContentEntityManager
- Parameters:
id
- the ID of the entity to retrieve- Returns:
- the entity, or null if no such entity exists.
-
findByQuery
<T> @NonNull Iterator<T> findByQuery(ContentQuery<T> query, int offset, int maxResults)
Get the results of a query for CustomContentEntityObjects- Parameters:
query
- the query to performoffset
- the first result to returnmaxResults
- the maximum number of results to return- Returns:
- an iterator of the results of the query
-
queryForList
<T> @NonNull List<T> queryForList(ContentQuery<T> query, int offset, int maxResults)
Get the results of a query for CustomContentEntityObjects- Parameters:
query
- the query to performoffset
- the first result to returnmaxResults
- the maximum number of results to return- Returns:
- a list of the results of the query
- Since:
- 7.14
-
queryForList
<T> @NonNull List<T> queryForList(ContentQuery<T> query)
Get the results of a query for CustomContentEntityObjects- Parameters:
query
- the query to perform- Returns:
- a list of the results of the query
- Since:
- 7.17
-
findByQuery
@Deprecated <T> @NonNull PageResponse<T> findByQuery(ContentQuery<T> query, boolean cacheable, LimitedRequest request, com.google.common.base.Predicate<T> predicate)
Deprecated.Get the results of a query for CustomContentEntityObjects- Parameters:
query
- the query to performcacheable
- whether the results for the given query can be cachedrequest
- the limited pagination requestpredicate
- the filter to apply to the results- Returns:
- a PageResponse of the results of the query, after filtering with the given predicate
-
findByQueryAndFilter
default <T> @NonNull PageResponse<T> findByQueryAndFilter(ContentQuery<T> query, boolean cacheable, LimitedRequest request, Predicate<T> predicate)
Get the results of a query for CustomContentEntityObjects- Parameters:
query
- the query to performcacheable
- whether the results for the given query can be cachedrequest
- the limited pagination requestpredicate
- the filter to apply to the results- Returns:
- a PageResponse of the results of the query, after filtering with the given predicate
- Since:
- 7.0.1
-
findFirstObjectByQuery
<T> @Nullable T findFirstObjectByQuery(ContentQuery<T> query)
Find the first result of a query for CustomContentEntityObjects. This is a convenience method for queries where we expect to only retrieve a single result.- Parameters:
query
- the query to perform- Returns:
- the first result of the query, or null if no results are returned
-
findTotalInSpace
int findTotalInSpace(Space space, String contentModuleKey)
Get the total count of current, non-deleted content of the given type in the given space.- Parameters:
space
- the space to count content incontentModuleKey
- the plugin module complete key of the content to be searched for- Returns:
- the total number of non-deleted, non-historical versions of content of the given type in that space
-
findCurrentInSpace
@NonNull Iterator<CustomContentEntityObject> findCurrentInSpace(Space space, String contentModuleKey, int offset, int maxResults, CustomContentManager.SortField sortField, CustomContentManager.SortOrder sortOrder)
Get an iterator of all the current, non-deleted content of the given type in the given space.- Parameters:
space
- the space to retrieve content fromcontentModuleKey
- the plugin module complete key of the content to be searched forsortField
- what field to sort the content onsortOrder
- which direction to sort the content in- Returns:
- an iterator of the non-deleted, non-historical versions of content of the given type in that space
-
countChildrenOfType
long countChildrenOfType(CustomContentEntityObject content, String contentModuleKey)
Get the total number of children of a piece of content with the given type- Parameters:
content
- the content to look for children ofcontentModuleKey
- the module key for the type of child to look for- Returns:
- the number of available children of that type
-
findAllContainedOfType
@NonNull Iterator<CustomContentEntityObject> findAllContainedOfType(long containerContentId, String pluginModuleKey)
Get an iterator of contained content of a piece of content with a given type.- Parameters:
containerContentId
- the content id of the content to look contained forpluginModuleKey
- the module key of the type of contained to look for
-
findChildrenOfType
@NonNull Iterator<CustomContentEntityObject> findChildrenOfType(CustomContentEntityObject content, String contentModuleKey, int offset, int maxResults, CustomContentManager.SortField sortField, CustomContentManager.SortOrder sortOrder)
Get an iterator of children of a piece of content with a given type.- Parameters:
content
- the content to look for children ofcontentModuleKey
- the module key of the type of child to look foroffset
- the offset of the first resultmaxResults
- the maximum total results to returnsortField
- what field to sort the content onsortOrder
- which direction to sort the content in
-
getChildrenOfType
@Deprecated @NonNull PageResponse<Content> getChildrenOfType(ContentEntityObject entity, String contentModuleKey, LimitedRequest limitedRequest, Expansions expansions, Depth depth, com.google.common.base.Predicate<? super CustomContentEntityObject> predicate)
Deprecated.Returns the children of a CustomContentEntityObject, limited to the pagination requested. This method will return children that have the entity as a container, and children that have the entity as a parent.- Parameters:
entity
- the content to look for children ofcontentModuleKey
- the module key of the type of child to look forlimitedRequest
- the pagination requestedexpansions
- the expansions applied to resultsdepth
- the depth to return children topredicate
- predicates used to filter the CustomContentEntityObjects- Returns:
-
getChildrenOfTypeAndFilter
default @NonNull PageResponse<Content> getChildrenOfTypeAndFilter(ContentEntityObject entity, String contentModuleKey, LimitedRequest limitedRequest, Expansions expansions, Depth depth, Predicate<? super CustomContentEntityObject> predicate)
Returns the children of a CustomContentEntityObject, limited to the pagination requested. This method will return children that have the entity as a container, and children that have the entity as a parent.- Parameters:
entity
- the content to look for children ofcontentModuleKey
- the module key of the type of child to look forlimitedRequest
- the pagination requestedexpansions
- the expansions applied to resultsdepth
- the depth to return children topredicate
- predicates used to filter the CustomContentEntityObjects- Returns:
- Since:
- 7.0.1
-
findAllChildren
@NonNull Iterator<CustomContentEntityObject> findAllChildren(CustomContentEntityObject content)
Get an iterator of all children of a piece of content.- Parameters:
content
- the content to look for children of
-
removeAllInSpace
void removeAllInSpace(String contentModuleKey, Space space)
Remove all plugin content of a particular type from a given space.- Parameters:
contentModuleKey
- the plugin module complete key of the content to be searched forspace
- the space from which to delete all content of that type
-
removeAllPluginContentInSpace
void removeAllPluginContentInSpace(Space space)
Remove all plugin content (of all types) from a given space. This usually happens when a space is removed. Plugins wishing to perform extra work on space removal should listen for the PluginContentWillBeRemovedForSpaceEvent event.- Parameters:
space
-
-
removeAllPluginContent
void removeAllPluginContent(String contentModuleKey)
Remove all plugin content of a particular type- Parameters:
contentModuleKey
- the plugin module complete key of the content to be searched for
-
findAllInSpace
@Deprecated @NonNull Collection<CustomContentEntityObject> findAllInSpace(Space space)
Deprecated.Since 4.2. No replacement.This method is required for space exports to work properly. Which is a good sign that space exports are evil and need to be rewritten. If you call it from anywhere else, I will kill a puppy.- Parameters:
space
- a space- Returns:
- all plugin content within that space
-
-