[
https://issues.apache.org/jira/browse/SLING-8271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16766138#comment-16766138
]
Konrad Windszus commented on SLING-8271:
----------------------------------------
In most use cases I have in mind the same logic is needed for visit and
shouldVisitChildren. If we separate those into two methods it is more effort
for the implementation of those two to share common code. Just think about the
use case to list all resources of a specific type. You often don’t want to
traverse the children once you reached such a resource.
> 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)