Interface CustomContentManager

All Superinterfaces:
ContentEntityManager
All Known Implementing Classes:
DefaultCustomContentManager

@ParametersAreNonnullByDefault public interface CustomContentManager extends ContentEntityManager
  • Method Details

    • 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 interface ContentEntityManager
      saveContext - - a SaveContext 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 interface ContentEntityManager
      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 perform
      offset - the first result to return
      maxResults - 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 perform
      offset - the first result to return
      maxResults - 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

      default <T> @NonNull PageResponse<T> findByQuery(ContentQuery<T> query, LimitedRequest request, Predicate<T> predicate)
      Get the results of a query for CustomContentEntityObjects
      Parameters:
      query - the query to perform
      cacheable - whether the results for the given query can be cached
      request - the limited pagination request
      predicate - 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
    • findByQueryAndFilter

      @Deprecated <T> @NonNull PageResponse<T> findByQueryAndFilter(ContentQuery<T> query, boolean cacheable, LimitedRequest request, Predicate<T> predicate)
      Deprecated.
      since 8.7
      Get the results of a query for CustomContentEntityObjects
      Parameters:
      query - the query to perform
      cacheable - whether the results for the given query can be cached
      request - the limited pagination request
      predicate - 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 in
      contentModuleKey - 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 from
      contentModuleKey - the plugin module complete key of the content to be searched for
      sortField - what field to sort the content on
      sortOrder - 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 of
      contentModuleKey - 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 for
      pluginModuleKey - 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 of
      contentModuleKey - the module key of the type of child to look for
      offset - the offset of the first result
      maxResults - the maximum total results to return
      sortField - what field to sort the content on
      sortOrder - which direction to sort the content in
    • getChildrenOfTypeAndFilter

      @NonNull PageResponse<CustomContentEntityObject> 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 of
      contentModuleKey - the module key of the type of child to look for
      limitedRequest - the pagination requested
      expansions - the expansions applied to results
      depth - the depth to return children to
      predicate - predicates used to filter the CustomContentEntityObjects
      Returns:
      Since:
      9.0
    • 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 for
      space - 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