Interface SitemapService


  • @ProviderType
    public interface SitemapService
    A service that gives consumers access to minimal information about sitemaps.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getMaxEntries()
      Returns the configured maximum number of urls a sitemap must not exceed.
      int getMaxSize()
      Returns the configured maximum size (bytes) a sitemap must not exceed.
      @NotNull java.util.Collection<SitemapInfo> getSitemapInfo​(@NotNull Resource sitemapRoot)
      Returns the urls to the given Resource's sitemaps, if any.
      void scheduleGeneration()
      Calls all registered sitemap schedulers to schedule (re)generation for all sitemap roots and names.
      void scheduleGeneration​(java.lang.String name)
      Calls all registered sitemap schedulers registered for the given name to schedule (re)generation.
      void scheduleGeneration​(Resource sitemapRoot)
      Calls all registered sitemap schedulers with a search path containing the given resource to schedule (re)generation for all names.
      void scheduleGeneration​(Resource sitemapRoot, java.lang.String name)
      Calls all registered sitemap schedulers with a search path containing the given resource and being registered for the given name to schedule (re)generation.
    • Field Detail

      • PROPERTY_SITEMAP_ROOT

        static final java.lang.String PROPERTY_SITEMAP_ROOT
        The name of a boolean property marking a resource as sitemap root Resource. It may either be set to a Resource or to a Resource's jcr:content child.
        See Also:
        Constant Field Values
      • DEFAULT_SITEMAP_NAME

        static final java.lang.String DEFAULT_SITEMAP_NAME
        The default name used for (unnamed) sitemaps.
        See Also:
        Constant Field Values
      • SITEMAP_INDEX_NAME

        static final java.lang.String SITEMAP_INDEX_NAME
        The name used for sitemap indexes.
        See Also:
        Constant Field Values
      • EVENT_TOPIC_SITEMAP_UPDATED

        static final java.lang.String EVENT_TOPIC_SITEMAP_UPDATED
        The background generation will send events with that topic right after a generated sitemap was persisted.
        See Also:
        Constant Field Values
      • EVENT_TOPIC_SITEMAP_PURGED

        static final java.lang.String EVENT_TOPIC_SITEMAP_PURGED
        The background cleanup will send events with that topic right after an obsolete sitemap file was purged.
        See Also:
        Constant Field Values
      • EVENT_PROPERTY_SITEMAP_ROOT

        static final java.lang.String EVENT_PROPERTY_SITEMAP_ROOT
        The event property storing the generated sitemap's root path.
        See Also:
        Constant Field Values
      • EVENT_PROPERTY_SITEMAP_NAME

        static final java.lang.String EVENT_PROPERTY_SITEMAP_NAME
        The event property storing the generated sitemap's name.
        See Also:
        Constant Field Values
      • EVENT_PROPERTY_SITEMAP_URLS

        static final java.lang.String EVENT_PROPERTY_SITEMAP_URLS
        The event property storing the generated sitemap's count of urls.
        See Also:
        Constant Field Values
      • EVENT_PROPERTY_SITEMAP_STORAGE_PATH

        static final java.lang.String EVENT_PROPERTY_SITEMAP_STORAGE_PATH
        The event property storing the generated sitemap's storage path.
        See Also:
        Constant Field Values
      • EVENT_PROPERTY_SITEMAP_STORAGE_SIZE

        static final java.lang.String EVENT_PROPERTY_SITEMAP_STORAGE_SIZE
        The event property storing the generated sitemap's binary size.
        See Also:
        Constant Field Values
    • Method Detail

      • getMaxSize

        int getMaxSize()
        Returns the configured maximum size (bytes) a sitemap must not exceed.
        Returns:
      • getMaxEntries

        int getMaxEntries()
        Returns the configured maximum number of urls a sitemap must not exceed.
        Returns:
      • scheduleGeneration

        void scheduleGeneration()
        Calls all registered sitemap schedulers to schedule (re)generation for all sitemap roots and names.
      • scheduleGeneration

        void scheduleGeneration​(java.lang.String name)
        Calls all registered sitemap schedulers registered for the given name to schedule (re)generation.
        Parameters:
        name -
      • scheduleGeneration

        void scheduleGeneration​(Resource sitemapRoot)
        Calls all registered sitemap schedulers with a search path containing the given resource to schedule (re)generation for all names.
        Parameters:
        sitemapRoot -
      • scheduleGeneration

        void scheduleGeneration​(Resource sitemapRoot,
                                java.lang.String name)
        Calls all registered sitemap schedulers with a search path containing the given resource and being registered for the given name to schedule (re)generation.
        Parameters:
        sitemapRoot -
        name -
      • getSitemapInfo

        @NotNull
        @NotNull java.util.Collection<SitemapInfo> getSitemapInfo​(@NotNull
                                                                  @NotNull Resource sitemapRoot)
        Returns the urls to the given Resource's sitemaps, if any.

        The returned urls may contain a sitemap index when there are multiple sitemaps generated for the given sitemap root Resource. Or it may contain urls to another sitemap root, if the sitemap is nested below a top level sitemap root.

        Numbers for size and entries can only be provided for sitemaps served from storage. For sitemap index or any sitemap not served from storage -1 will be returned.

        The default implementation uses SitemapLinkExternalizer.externalize(Resource) to create absolute urls.

        Parameters:
        sitemapRoot - a Resource having PROPERTY_SITEMAP_ROOT set to true
        Returns:
        a Collection of SitemapInfo objects