Class ResourceTreeSitemapGenerator
- java.lang.Object
-
- org.apache.sling.sitemap.spi.generator.ResourceTreeSitemapGenerator
-
- All Implemented Interfaces:
SitemapGenerator
@ConsumerType public abstract class ResourceTreeSitemapGenerator extends java.lang.Object implements SitemapGenerator
A default implementation ofSitemapGenerator
that traverses a resource tree.Implementations may change the traversal behaviour by overriding
shouldFollow(Resource)
orshouldInclude(Resource)
but it is recommended to always consider the default implementation. The default implementation includes onlyResource
s that have a "jcr:content" child and follows through only on content that is not below the "jcr:content" or any other sitemap root.This implementation keeps track of the traversal's state in the
SitemapGenerator.Context
. It is capable to continue from a previous persisted state, when the generation got aborted.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.sling.sitemap.spi.generator.SitemapGenerator
SitemapGenerator.Context
-
-
Constructor Summary
Constructors Constructor Description ResourceTreeSitemapGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generate(@NotNull Resource sitemapRoot, @NotNull java.lang.String name, @NotNull Sitemap sitemap, SitemapGenerator.Context context)
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.sling.sitemap.spi.generator.SitemapGenerator
getNames, getOnDemandNames
-
-
-
-
Method Detail
-
generate
public final void generate(@NotNull @NotNull Resource sitemapRoot, @NotNull @NotNull java.lang.String name, @NotNull @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException
Description copied from interface:SitemapGenerator
Generates aSitemap
with the given name at the givenResource
.This process may be stateful and the given
SitemapGenerator.Context
can be used to keep track of the state. For example a traversal that keeps track on the lastResource
added to theSitemap
.- Specified by:
generate
in interfaceSitemapGenerator
- Parameters:
sitemapRoot
- the root at which the sitemap should be createdname
- the name, one of the names returned bySitemapGenerator.getNames(Resource)
for the given sitemapRootsitemap
- theSitemap
object to add locations tocontext
- the context under which the sitemap is generated- Throws:
SitemapException
- may be thrown in unrecoverable exceptional cases
-
-