Package org.apache.sling.servlets.get.impl.util

# Class ResourceTraversor

java.lang.Object
org.apache.sling.servlets.get.impl.util.ResourceTraversor

public class ResourceTraversor extends Object

## Constructor Summary

Constructors
Constructor
Description
`ResourceTraversor(int levels, long maxResources, org.apache.sling.api.resource.Resource resource, boolean ecmaSupport)`
Create a ResourceTraversor, optionally limiting recursion and total number of resources

## Method Summary

Modifier and Type
Method
Description
`int`
`collectResources()`
Recursive descent from startResource, collecting JSONObjects into startObject.
`jakarta.json.JsonObject`
`getJSONObject()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ResourceTraversor

public ResourceTraversor(int levels, long maxResources, org.apache.sling.api.resource.Resource resource, boolean ecmaSupport)
Create a ResourceTraversor, optionally limiting recursion and total number of resources

Parameters:
  `levels` - recursion levels limit, -1 means no limit
  `maxResources` - maximum number of resources to collect, ignored if levels == 1
  `resource` - the root resource to traverse

## Method Details

### collectResources

public int collectResources() throws org.apache.sling.api.request.RecursionTooDeepException
Recursive descent from startResource, collecting JSONObjects into startObject. Throws a RecursionTooDeepException if the maximum number of nodes is reached on a "deep" traversal (where "deep" === level greater than 1).

Returns:
  -1 if everything went fine, a positive value when the resource has more child nodes then allowed.
Throws:
  `org.apache.sling.api.request.RecursionTooDeepException`

### getJSONObject

public jakarta.json.JsonObject getJSONObject()