Package org.jboss.modules.filter

# Class PathFilters

java.lang.Object
org.jboss.modules.filter.PathFilters

public final class PathFilters extends Object
Static factory methods for path filter types.

Author:
  David M. Lloyd

## Method Summary

Modifier and Type
Method
Description
`static PathFilter`
`acceptAll()`
Get a filter which always returns `true`.
`static PathFilter`
`all(Collection<PathFilter> filters)`
Get a path filter which returns `true` if all of the given filters return `true`.
`static PathFilter`
`all(PathFilter... filters)`
Get a path filter which returns `true` if all of the given filters return `true`.
`static PathFilter`
`any(Collection<PathFilter> filters)`
Get a path filter which returns `true` if any of the given filters return `true`.
`static PathFilter`
`any(PathFilter... filters)`
Get a path filter which returns `true` if any of the given filters return `true`.
`static Iterator<Resource>`
`filtered(PathFilter filter, Iterator<Resource> original)`
Get a filtered view of a resource iteration.
`static PathFilter`
`getDefaultImportFilter()`
Get the default import path filter, which excludes all of `META-INF` and its subdirectories.
`static PathFilter`
`getDefaultImportFilterWithServices()`
Get the default import-with-services path filter which excludes all of `META-INF` and its subdirectories, with the exception of `META-INF/services`.
`static PathFilter`
`getMetaInfFilter()`
Get a filter which matches the path `"META-INF"`.
`static PathFilter`
`getMetaInfServicesFilter()`
Get a filter which matches the path `"META-INF/services"`.
`static PathFilter`
`getMetaInfSubdirectoriesFilter()`
Get a filter which matches any subdirectory of the path `"META-INF"`.
`static PathFilter`
`getMetaInfSubdirectoriesWithoutMetaInfFilter()`
Get a filter which matches all of `META-INF`'s subdirectories, but not `META-INF` itself.
`static PathFilter`
`in(Collection<String> paths)`
Get a filter which returns `true` if the tested path is contained within the given collection.
`static PathFilter`
`in(Set<String> paths)`
Get a filter which returns `true` if the tested path is contained within the given set.
`static PathFilter`
`is(String path)`
Get a path filter which matches an exact path name.
`static PathFilter`
`isChildOf(String path)`
Get a path filter which matches any path which is a child of the given path name (not including the path name itself).
`static PathFilter`
`isOrIsChildOf(String path)`
Get a path filter which matches any path which is equal to, or a child of, the given path name.
`static PathFilter`
`match(String glob)`
Get a path filter which matches a glob.
`static MultiplePathFilterBuilder`
`multiplePathFilterBuilder(boolean defaultValue)`
Get a builder for a multiple-path filter.
`static PathFilter`
`none(Collection<PathFilter> filters)`
Get a path filter which returns `true` if none of the given filters return `true`.
`static PathFilter`
`none(PathFilter... filters)`
Get a path filter which returns `true` if none of the given filters return `true`.
`static PathFilter`
`not(PathFilter filter)`
Get a path filter which is `true` when the given filter is `false`, and vice-versa.
`static PathFilter`
`rejectAll()`
Get a filter which always returns `false`.

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

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

## Method Details

### all

public static PathFilter all(PathFilter... filters)
Get a path filter which returns `true` if all of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "all" filter

### all

public static PathFilter all(Collection<PathFilter> filters)
Get a path filter which returns `true` if all of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "all" filter

### any

public static PathFilter any(PathFilter... filters)
Get a path filter which returns `true` if any of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "any" filter

### any

public static PathFilter any(Collection<PathFilter> filters)
Get a path filter which returns `true` if any of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "any" filter

### none

public static PathFilter none(PathFilter... filters)
Get a path filter which returns `true` if none of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "none" filter

### none

public static PathFilter none(Collection<PathFilter> filters)
Get a path filter which returns `true` if none of the given filters return `true`.

Parameters:
  `filters` - the filters
Returns:
  the "none" filter

### not

public static PathFilter not(PathFilter filter)
Get a path filter which is `true` when the given filter is `false`, and vice-versa.

Parameters:
  `filter` - the filter
Returns:
  the inverting filter

### match

public static PathFilter match(String glob)
Get a path filter which matches a glob. The given glob is a path separated by "`/`" characters, which may include the special "`*`" and "`**`" segment strings which match any directory and any number of nested directories, respectively.

Parameters:
  `glob` - the glob
Returns:
  a filter which returns `true` if the glob matches

### is

public static PathFilter is(String path)
Get a path filter which matches an exact path name.

Parameters:
  `path` - the path name
Returns:
  a filter which returns `true` if the path name is an exact match

### isChildOf

public static PathFilter isChildOf(String path)
Get a path filter which matches any path which is a child of the given path name (not including the path name itself).

Parameters:
  `path` - the path name
Returns:
  a filter which returns `true` if the path name is a child of the given path

### isOrIsChildOf

public static PathFilter isOrIsChildOf(String path)
Get a path filter which matches any path which is equal to, or a child of, the given path name.

Parameters:
  `path` - the path name
Returns:
  a filter which returns `true` if the path name is equal to, or a child of, the given path

### multiplePathFilterBuilder

public static MultiplePathFilterBuilder multiplePathFilterBuilder(boolean defaultValue)
Get a builder for a multiple-path filter. Such a filter contains multiple filters, each associated with a flag which indicates that matching paths should be included or excluded.

Parameters:
  `defaultValue` - the value to return if none of the nested filters match
Returns:
  the builder

### acceptAll

public static PathFilter acceptAll()
Get a filter which always returns `true`.

Returns:
  the accept-all filter

### rejectAll

public static PathFilter rejectAll()
Get a filter which always returns `false`.

Returns:
  the reject-all filter

### in

public static PathFilter in(Set<String> paths)
Get a filter which returns `true` if the tested path is contained within the given set. Each member of the set is a path separated by "`/`" characters; `null`s are disallowed.

Parameters:
  `paths` - the path set
Returns:
  the filter

### in

public static PathFilter in(Collection<String> paths)
Get a filter which returns `true` if the tested path is contained within the given collection. Each member of the collection is a path separated by "`/`" characters; `null`s are disallowed.

Parameters:
  `paths` - the path collection
Returns:
  the filter

### filtered

public static Iterator<Resource> filtered(PathFilter filter, Iterator<Resource> original)
Get a filtered view of a resource iteration. Only resources which pass the given filter are accepted.

Parameters:
  `filter` - the filter to check
  `original` - the original iterator
Returns:
  the filtered iterator

### getDefaultImportFilter

public static PathFilter getDefaultImportFilter()
Get the default import path filter, which excludes all of `META-INF` and its subdirectories.

Returns:
  the default import path filter

### getDefaultImportFilterWithServices

public static PathFilter getDefaultImportFilterWithServices()
Get the default import-with-services path filter which excludes all of `META-INF` and its subdirectories, with the exception of `META-INF/services`.

Returns:
  the default import-with-services path filter

### getMetaInfFilter

public static PathFilter getMetaInfFilter()
Get a filter which matches the path `"META-INF"`.

Returns:
  the filter

### getMetaInfSubdirectoriesFilter

public static PathFilter getMetaInfSubdirectoriesFilter()
Get a filter which matches any subdirectory of the path `"META-INF"`.

Returns:
  the filter

### getMetaInfServicesFilter

public static PathFilter getMetaInfServicesFilter()
Get a filter which matches the path `"META-INF/services"`.

Returns:
  the filter

### getMetaInfSubdirectoriesWithoutMetaInfFilter

public static PathFilter getMetaInfSubdirectoriesWithoutMetaInfFilter()
Get a filter which matches all of `META-INF`'s subdirectories, but not `META-INF` itself.

Returns:
  the filter