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
Constructor
Description
`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

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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`