Package org.apache.sling.distribution

## Class SimpleDistributionRequest

- java.lang.Object
- - org.apache.sling.distribution.SimpleDistributionRequest

All Implemented Interfaces:
  `DistributionRequest`

    @ProviderType
    public final class SimpleDistributionRequest
    extends Object
    implements DistributionRequest

A `SimpleDistributionRequest` is a `DistributionRequest` where all paths are either "deep" or "shallow".

### Constructor Summary

Constructors
`SimpleDistributionRequest​(DistributionRequestType requestType, boolean isDeep, String... paths)` Creates distribution request with "deep" or "shallow" paths.
`SimpleDistributionRequest​(DistributionRequestType requestType, String... paths)` Creates a distribution request with "shallow" paths.
`SimpleDistributionRequest​(DistributionRequestType requestType, String[] paths, Set<String> deepPaths)` Creates a distribution request with additional "deep" paths.
`SimpleDistributionRequest​(DistributionRequestType requestType, String[] paths, Set<String> deepPaths, Map<String,​String[]> pathFilters)` Creates a distribution request with "deep" paths and filters.

### Method Summary

All Methods Instance Methods Concrete Methods
`String[]` `getFilters​(String path)` Get the filters applicable for a specific path +/foo/.* - include all content under /foo -/foo - exclude /foo node filters are checked in order and the last matched filter determines inclusion/exclusion
`String[]` `getPaths()` get the paths for this distribution request
`DistributionRequestType` `getRequestType()` get the `DistributionRequestType` associated with this request
`boolean` `isDeep​(String path)` Returns whether the a path is covering the entire subtree (deep) or just the specified nodes (shallow)
`String` `toString()`

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

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

### Constructor Detail

#### SimpleDistributionRequest

    public SimpleDistributionRequest​(DistributionRequestType requestType,
                                     boolean isDeep,
                                     String... paths)

Creates distribution request with "deep" or "shallow" paths.

Parameters:
  `requestType` - the request type
  `isDeep` - is `true` if all paths are "deep" and is `false` if all paths are "shallow"
  `paths` - the array of paths to be distributed

#### SimpleDistributionRequest

    public SimpleDistributionRequest​(DistributionRequestType requestType,
                                     String... paths)

Creates a distribution request with "shallow" paths.

Parameters:
  `requestType` - the request type
  `paths` - the array of paths to be distributed

#### SimpleDistributionRequest

    public SimpleDistributionRequest​(DistributionRequestType requestType,
                                     String[] paths,
                                     Set<String> deepPaths)

Creates a distribution request with additional "deep" paths.

Parameters:
  `requestType` - the request type
  `paths` - the array of paths to be distributed
  `deepPaths` - the set of paths that are to be distributed in depth (with all their children)

#### SimpleDistributionRequest

    public SimpleDistributionRequest​(DistributionRequestType requestType,
                                     String[] paths,
                                     Set<String> deepPaths,
                                     Map<String,​String[]> pathFilters)

Creates a distribution request with "deep" paths and filters.

Parameters:
  `requestType` - the request type
  `paths` - the array of paths to be distributed
  `deepPaths` - the set of paths that are to be distributed in depth (with all their children)
  `pathFilters` - the filters applicable for each path

### Method Detail

#### getRequestType

    @Nonnull
    public DistributionRequestType getRequestType()

get the `DistributionRequestType` associated with this request

Specified by:
  `getRequestType` in interface `DistributionRequest`
Returns:
  the type of the request as a `DistributionRequestType`

#### getPaths

    public String[] getPaths()

get the paths for this distribution request

Specified by:
  `getPaths` in interface `DistributionRequest`
Returns:
  an array of paths

#### isDeep

    public boolean isDeep​(String path)

Returns whether the a path is covering the entire subtree (deep) or just the specified nodes (shallow)

Specified by:
  `isDeep` in interface `DistributionRequest`
Parameters:
  `path` - the path to be checked
Returns:
  `true` if the path is deep

#### getFilters

    @Nonnull
    public String[] getFilters​(String path)

Description copied from interface: `DistributionRequest`
Get the filters applicable for a specific path +/foo/.* - include all content under /foo -/foo - exclude /foo node filters are checked in order and the last matched filter determines inclusion/exclusion

Specified by:
  `getFilters` in interface `DistributionRequest`
Parameters:
  `path` - the path to get applicable filters for
Returns:
  an array of filters

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`