Package org.apache.sling.api.resource.path

# Class PathSet

java.lang.Object
org.apache.sling.api.resource.path.PathSet

All Implemented Interfaces:
  `Iterable<Path>`

public class PathSet extends Object implements Iterable<Path>
Simple helper class for path matching against a set of paths.

Since:
  1.0.0 (Sling API Bundle 2.11.0)

## Field Summary

Fields
Modifier and Type
Field
Description
`static final PathSet`
`EMPTY_SET`
Empty path set.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`static PathSet`
`fromPathCollection(Collection<Path> paths)`
Create a path set from a collection of path objects
`static PathSet`
`fromPaths(Path... paths)`
Create a path set from a collection of path objects
`static PathSet`
`fromStringCollection(Collection<String> paths)`
Create a path set from a collection of strings
`static PathSet`
`fromStrings(String... strings)`
Create a path set from a collection of strings
`PathSet`
`getSubset(String path)`
Generate a path set of paths from this set which are in the sub tree of the provided path
`PathSet`
`getSubset(Path path)`
Generate a path set of paths from this set which are in the sub tree of the provided path
`PathSet`
`getSubset(PathSet set)`
Generate a path set of paths from this set which are in at least one of the sub tree of the provided path set.
`int`
`hashCode()`
`Iterator<Path>`
`iterator()`
Return an unmodifiable iterator for the paths.
`Path`
`matches(String otherPath)`
Check whether the provided path is in the sub tree of any of the paths in this set.
`String`
`toString()`
`Set<String>`
`toStringSet()`
Create a unmodifiable set of strings

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Field Details

### EMPTY_SET

public static final PathSet EMPTY_SET
Empty path set.

## Method Details

### fromPathCollection

public static PathSet fromPathCollection(Collection<Path> paths)
Create a path set from a collection of path objects

Parameters:
  `paths` - The collection of path objects
Returns:
  The path set

### fromPaths

public static PathSet fromPaths(Path... paths)
Create a path set from a collection of path objects

Parameters:
  `paths` - The collection of path objects
Returns:
  The path set

### fromStringCollection

public static PathSet fromStringCollection(Collection<String> paths)
Create a path set from a collection of strings

Parameters:
  `paths` - The collection of strings
Returns:
  The path set

### fromStrings

public static PathSet fromStrings(String... strings)
Create a path set from a collection of strings

Parameters:
  `strings` - The array of strings
Returns:
  The path set

### matches

public Path matches(String otherPath)
Check whether the provided path is in the sub tree of any of the paths in this set.

Parameters:
  `otherPath` - The path to match
Returns:
  The path which matches the provided path, `null` otherwise.
See Also:
  - `Path.matches(String)`

### getSubset

public PathSet getSubset(String path)
Generate a path set of paths from this set which are in the sub tree of the provided path

Parameters:
  `path` - The base path
Returns:
  Path set, might be empty

### getSubset

public PathSet getSubset(Path path)
Generate a path set of paths from this set which are in the sub tree of the provided path

Parameters:
  `path` - The base path
Returns:
  Path set, might be empty
Since:
  1.2.0 (Sling API Bundle 2.15.0)

### getSubset

public PathSet getSubset(PathSet set)
Generate a path set of paths from this set which are in at least one of the sub tree of the provided path set.

Parameters:
  `set` - The base path set
Returns:
  Path set

### toStringSet

public Set<String> toStringSet()
Create a unmodifiable set of strings

Returns:
  A set of strings

### iterator

public Iterator<Path> iterator()
Return an unmodifiable iterator for the paths.

Specified by:
  `iterator` in interface `Iterable<Path>`
Returns:
  An iterator for the paths

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`