Package org.apache.sling.sitemap
Class SitemapUtil
- java.lang.Object
-
- org.apache.sling.sitemap.SitemapUtil
-
@ProviderType public final class SitemapUtil extends java.lang.ObjectA utility class to give access to common functionality used for sitemaps.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static @NotNull java.util.Iterator<Resource>findSitemapRoots(ResourceResolver resolver, java.lang.String searchPath)Returns all sitemap rootResources within the given search path, excluding the search path itself even if it is a sitemap root.static @NotNull java.lang.StringgetSitemapSelector(@NotNull Resource sitemapRoot, @NotNull Resource topLevelSitemapRoot, @NotNull java.lang.String name)Returns the selector for the given sitemap rootResourceand the given name.static @NotNull ResourcegetTopLevelSitemapRoot(@NotNull Resource sitemapRoot)static booleanisSitemapRoot(@Nullable Resource resource)Returns true when the givenResourceis a sitemap root.static booleanisTopLevelSitemapRoot(@Nullable Resource resource)Returns true when the givenResourceis a top level sitemap root.static @Nullable ResourcenormalizeSitemapRoot(@Nullable Resource resource)static @NotNull java.util.Map<Resource,java.lang.String>resolveSitemapRoots(@NotNull Resource topLevelSitemapRoot, @NotNull java.lang.String sitemapSelector)
-
-
-
Method Detail
-
getTopLevelSitemapRoot
@NotNull public static @NotNull Resource getTopLevelSitemapRoot(@NotNull @NotNull Resource sitemapRoot)
Returns theResourcemarked as sitemap root that is closest to the repository root starting with the givenResource.- Parameters:
sitemapRoot-- Returns:
-
normalizeSitemapRoot
@Nullable public static @Nullable Resource normalizeSitemapRoot(@Nullable @Nullable Resource resource)
- Parameters:
resource-- Returns:
-
isSitemapRoot
public static boolean isSitemapRoot(@Nullable @Nullable Resource resource)Returns true when the givenResourceis a sitemap root.- Parameters:
resource-- Returns:
-
isTopLevelSitemapRoot
public static boolean isTopLevelSitemapRoot(@Nullable @Nullable Resource resource)Returns true when the givenResourceis 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 rootResourceand 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 rootResources for the given selector within the given top level sitemap rootResource. This is the inversion ofgetSitemapSelector(Resource, Resource, String)with sitemap root being a top level sitemap root.The returned
Maponly containsResources, that are sitemap roots according toisSitemapRoot(Resource). Each returnedResourceis mapped to the name which when passed togetSitemapSelector(Resource, Resource, String)would return the same selector, omitting the optional multi-file index part.As this resolution may be ambiguous, the returned
Mapis 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 rootResources within the given search path, excluding the search path itself even if it is a sitemap root.The
Resources returned are normalized usingnormalizeSitemapRoot(Resource).- Parameters:
resolver-searchPath-- Returns:
-
-