Class DefaultCustomContentManager

    • Method Detail

      • newPluginContentEntityObject

        public @NonNull CustomContentEntityObject newPluginContentEntityObject​(String contentModuleKey)
        Description copied from interface: CustomContentManager
        Create a new CustomContentEntityObject for the given module. This method will ensure that the plugin delegate and various necessary arguments are set.
        Specified by:
        newPluginContentEntityObject in interface CustomContentManager
        Parameters:
        contentModuleKey - the module complete key of the content's ContentAdapter module
        Returns:
        a blank entity object for that plugin
      • findByQuery

        public <T> @NonNull Iterator<T> findByQuery​(ContentQuery<T> query,
                                                    int offset,
                                                    int maxResults)
        Description copied from interface: CustomContentManager
        Get the results of a query for CustomContentEntityObjects
        Specified by:
        findByQuery in interface CustomContentManager
        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

        public <T> @NonNull List<T> queryForList​(ContentQuery<T> query,
                                                 int offset,
                                                 int maxResults)
        Description copied from interface: CustomContentManager
        Get the results of a query for CustomContentEntityObjects
        Specified by:
        queryForList in interface CustomContentManager
        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

        public <T> @NonNull List<T> queryForList​(ContentQuery<T> query)
        It is strongly recommended that the queryForList(ContentQuery, int, int) method be used in preference to this one, as this method does not apply pagination limits to the result set. This can result in excessive memory pressure. This method should only be used when the query is self-limiting, or when the size of the result set is otherwise known in advance.
        Specified by:
        queryForList in interface CustomContentManager
        Parameters:
        query - the query to perform
        Returns:
        a list of the results of the query
        Since:
        7.17
      • findByQueryAndFilter

        public <T> @NonNull PageResponse<T> findByQueryAndFilter​(ContentQuery<T> query,
                                                                 boolean cacheable,
                                                                 LimitedRequest request,
                                                                 Predicate<T> predicate)
        Description copied from interface: CustomContentManager
        Get the results of a query for CustomContentEntityObjects
        Specified by:
        findByQueryAndFilter in interface CustomContentManager
        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
      • findFirstObjectByQuery

        public <T> @Nullable T findFirstObjectByQuery​(ContentQuery<T> query)
        Description copied from interface: CustomContentManager
        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.
        Specified by:
        findFirstObjectByQuery in interface CustomContentManager
        Parameters:
        query - the query to perform
        Returns:
        the first result of the query, or null if no results are returned
      • findTotalInSpace

        public int findTotalInSpace​(Space space,
                                    String pluginContentKey)
        Description copied from interface: CustomContentManager
        Get the total count of current, non-deleted content of the given type in the given space.
        Specified by:
        findTotalInSpace in interface CustomContentManager
        Parameters:
        space - the space to count content in
        pluginContentKey - 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

        public @NonNull Iterator<CustomContentEntityObject> findCurrentInSpace​(Space space,
                                                                               String pluginContentKey,
                                                                               int offset,
                                                                               int maxResults,
                                                                               CustomContentManager.SortField sortField,
                                                                               CustomContentManager.SortOrder sortOrder)
        Description copied from interface: CustomContentManager
        Get an iterator of all the current, non-deleted content of the given type in the given space.
        Specified by:
        findCurrentInSpace in interface CustomContentManager
        Parameters:
        space - the space to retrieve content from
        pluginContentKey - 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

        public long countChildrenOfType​(CustomContentEntityObject content,
                                        String contentModuleKey)
        Description copied from interface: CustomContentManager
        Get the total number of children of a piece of content with the given type
        Specified by:
        countChildrenOfType in interface CustomContentManager
        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
      • getChildrenOfTypeAndFilter

        public @NonNull PageResponse<Content> getChildrenOfTypeAndFilter​(ContentEntityObject entity,
                                                                         String contentModuleKey,
                                                                         LimitedRequest limitedRequest,
                                                                         Expansions expansions,
                                                                         Depth depth,
                                                                         Predicate<? super CustomContentEntityObject> predicate)
        This method is used by the Content API to retrieve children of a specific type and filter them by a predicate.
        Specified by:
        getChildrenOfTypeAndFilter in interface CustomContentManager
        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:
      • findAllContainedOfType

        public @NonNull Iterator<CustomContentEntityObject> findAllContainedOfType​(long containerContentId,
                                                                                   String pluginModuleKey)
        Description copied from interface: CustomContentManager
        Get an iterator of contained content of a piece of content with a given type.
        Specified by:
        findAllContainedOfType in interface CustomContentManager
        Parameters:
        containerContentId - the content id of the content to look contained for
        pluginModuleKey - the module key of the type of contained to look for
      • removeAllInSpace

        public void removeAllInSpace​(String pluginContentKey,
                                     Space space)
        Description copied from interface: CustomContentManager
        Remove all plugin content of a particular type from a given space.
        Specified by:
        removeAllInSpace in interface CustomContentManager
        Parameters:
        pluginContentKey - 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

        public void removeAllPluginContentInSpace​(Space space)
        Description copied from interface: CustomContentManager
        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.
        Specified by:
        removeAllPluginContentInSpace in interface CustomContentManager
      • removeAllPluginContent

        public void removeAllPluginContent​(String contentModuleKey)
        Description copied from interface: CustomContentManager
        Remove all plugin content of a particular type
        Specified by:
        removeAllPluginContent in interface CustomContentManager
        Parameters:
        contentModuleKey - the plugin module complete key of the content to be searched for
      • findAllInSpace

        public @NonNull Collection<CustomContentEntityObject> findAllInSpace​(Space space)
        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.
        Specified by:
        findAllInSpace in interface CustomContentManager
        Parameters:
        space - a space
        Returns:
        all plugin content within that space
      • setContentTypeManager

        public void setContentTypeManager​(ContentTypeManager contentTypeManager)
      • setContentFactory

        public void setContentFactory​(ContentFactory contentFactory)