Class SitemapUtil


  • @ProviderType
    public final class SitemapUtil
    extends java.lang.Object
    A utility class to give access to common functionality used for sitemaps.
    • Method Detail

      • getTopLevelSitemapRoot

        @NotNull
        public static @NotNull Resource getTopLevelSitemapRoot​(@NotNull
                                                               @NotNull Resource sitemapRoot)
        Returns the Resource marked as sitemap root that is closest to the repository root starting with the given Resource.
        Parameters:
        sitemapRoot -
        Returns:
      • isSitemapRoot

        public static boolean isSitemapRoot​(@Nullable
                                            @Nullable Resource resource)
        Returns true when the given Resource is a sitemap root.
        Parameters:
        resource -
        Returns:
      • isTopLevelSitemapRoot

        public static boolean isTopLevelSitemapRoot​(@Nullable
                                                    @Nullable Resource resource)
        Returns true when the given Resource is a top level sitemap root.
        Parameters:
        resource -
        Returns:
      • getSitemapSelector

        @NotNull
        public static @NotNull java.lang.String getSitemapSelector​(@NotNull
                                                                   @NotNull Resource sitemapRoot,
                                                                   @NotNull
                                                                   @NotNull Resource topLevelSitemapRoot,
                                                                   @NotNull
                                                                   @NotNull java.lang.String name)
        Returns the selector for the given sitemap root Resource and the given name.
        Parameters:
        sitemapRoot -
        topLevelSitemapRoot -
        name -
        Returns:
      • resolveSitemapRoots

        @NotNull
        public static @NotNull java.util.Map<Resource,​java.lang.String> resolveSitemapRoots​(@NotNull
                                                                                                  @NotNull Resource topLevelSitemapRoot,
                                                                                                  @NotNull
                                                                                                  @NotNull java.lang.String sitemapSelector)
        Resolves all sitemap root Resources for the given selector within the given top level sitemap root Resource. This is the inversion of getSitemapSelector(Resource, Resource, String) with sitemap root being a top level sitemap root.

        The returned Map only contains Resources, that are sitemap roots according to isSitemapRoot(Resource). Each returned Resource is mapped to the name which when passed to getSitemapSelector(Resource, Resource, String) would return the same selector, omitting the optional multi-file index part.

        As this resolution may be ambiguous, the returned Map is sorted with the sitemap root/name combinations closest to the top level sitemap root taking precedence.

        Parameters:
        topLevelSitemapRoot -
        sitemapSelector -
        Returns:
        a sorted Map
      • findSitemapRoots

        @NotNull
        public static @NotNull java.util.Iterator<Resource> findSitemapRoots​(ResourceResolver resolver,
                                                                             java.lang.String searchPath)
        Returns all sitemap root Resources within the given search path, excluding the search path itself even if it is a sitemap root.

        The Resources returned are normalized using normalizeSitemapRoot(Resource).

        Parameters:
        resolver -
        searchPath -
        Returns: