Package org.apache.sling.sitemap
Class SitemapUtil
- java.lang.Object
-
- org.apache.sling.sitemap.SitemapUtil
-
@ProviderType public final class SitemapUtil extends Object
A 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 Iterator<org.apache.sling.api.resource.Resource>findSitemapRoots(org.apache.sling.api.resource.ResourceResolver resolver, 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 StringgetSitemapSelector(@NotNull org.apache.sling.api.resource.Resource sitemapRoot, @NotNull org.apache.sling.api.resource.Resource topLevelSitemapRoot, @NotNull String name)Returns the selector for the given sitemap rootResourceand the given name.static @NotNull org.apache.sling.api.resource.ResourcegetTopLevelSitemapRoot(@NotNull org.apache.sling.api.resource.Resource sitemapRoot)Returns theResourcemarked as sitemap root that is closest to the repository root starting with the givenResource.static booleanisSitemapRoot(@Nullable org.apache.sling.api.resource.Resource resource)Returns true when the givenResourceis a sitemap root.static booleanisTopLevelSitemapRoot(@Nullable org.apache.sling.api.resource.Resource resource)Returns true when the givenResourceis a top level sitemap root.static @Nullable org.apache.sling.api.resource.ResourcenormalizeSitemapRoot(@Nullable org.apache.sling.api.resource.Resource resource)Returns the parent of the givenResourcewhen theResource's name isJcrConstants.JCR_CONTENT.static @NotNull Map<org.apache.sling.api.resource.Resource,String>resolveSitemapRoots(@NotNull org.apache.sling.api.resource.Resource topLevelSitemapRoot, @NotNull String sitemapSelector)Resolves all sitemap rootResources for the given selector within the given top level sitemap rootResource.
-
-
-
Method Detail
-
getTopLevelSitemapRoot
@NotNull public static @NotNull org.apache.sling.api.resource.Resource getTopLevelSitemapRoot(@NotNull @NotNull org.apache.sling.api.resource.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 org.apache.sling.api.resource.Resource normalizeSitemapRoot(@Nullable @Nullable org.apache.sling.api.resource.Resource resource)Returns the parent of the givenResourcewhen theResource's name isJcrConstants.JCR_CONTENT.- Parameters:
resource-- Returns:
-
isSitemapRoot
public static boolean isSitemapRoot(@Nullable @Nullable org.apache.sling.api.resource.Resource resource)Returns true when the givenResourceis a sitemap root.- Parameters:
resource-- Returns:
-
isTopLevelSitemapRoot
public static boolean isTopLevelSitemapRoot(@Nullable @Nullable org.apache.sling.api.resource.Resource resource)Returns true when the givenResourceis a top level sitemap root.- Parameters:
resource-- Returns:
-
getSitemapSelector
@NotNull public static @NotNull String getSitemapSelector(@NotNull @NotNull org.apache.sling.api.resource.Resource sitemapRoot, @NotNull @NotNull org.apache.sling.api.resource.Resource topLevelSitemapRoot, @NotNull @NotNull String name)
Returns the selector for the given sitemap rootResourceand the given name.- Parameters:
sitemapRoot-topLevelSitemapRoot-name-- Returns:
-
resolveSitemapRoots
@NotNull public static @NotNull Map<org.apache.sling.api.resource.Resource,String> resolveSitemapRoots(@NotNull @NotNull org.apache.sling.api.resource.Resource topLevelSitemapRoot, @NotNull @NotNull 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 Iterator<org.apache.sling.api.resource.Resource> findSitemapRoots(org.apache.sling.api.resource.ResourceResolver resolver, 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:
-
-