[
https://issues.apache.org/jira/browse/SLING-8271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16766103#comment-16766103
]
Julian Sedding commented on SLING-8271:
---------------------------------------
I see this is already committed. But not yet released.
Maybe a method {{boolean shouldVisitChildren(Resource)}} or even {{boolean
skipChildren(Resource)}} could help avoid long method names and more
importantly conflating the visiting and traversing aspects.
Something along those lines:
{code:java}
public void accept(final Resource res) {
if (res != null) {
visit(res);
if (shouldVisitChildren(res)) { // default impl returns true
traverseChildren(res.listChildren());
}
}
}
{code}
> Improve AbstractResourceVisitor to allow to stop visiting child resources
> -------------------------------------------------------------------------
>
> Key: SLING-8271
> URL: https://issues.apache.org/jira/browse/SLING-8271
> Project: Sling
> Issue Type: Improvement
> Components: API
> Affects Versions: API 2.20.0
> Reporter: Konrad Windszus
> Assignee: Konrad Windszus
> Priority: Major
> Fix For: API 2.20.2
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Currently the AbstractResourceVisitor
> (https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/api/resource/AbstractResourceVisitor.java)
> completely decouples the {{visit}} method from the actual resource
> traversal. That means it is currently rather hard to programmatically add a
> break condition which should lead to no further descending into child
> resources.
> I propose to extend {{AbstractResourceVisitor}} by an additional visit method
> which is supposed to return a boolean value. Only if {{true}} is returned it
> will further descend into the children of the current resource. The default
> implementation should just return {{true}} to make this change backwards
> compatible.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)