org.glassfish.jersey.uri

## Class PathPattern

- java.lang.Object
- - org.glassfish.jersey.uri.PatternWithGroups
  - - org.glassfish.jersey.uri.PathPattern

    public final class PathPattern
    extends PatternWithGroups

A path pattern that is a regular expression generated from a URI path template.

The path pattern is normalized by removing a terminating "/" if present.

The path pattern is post-fixed with a right hand pattern that consists of either a matching group that matches zero or more path segments, see `PathPattern.RightHandPath.capturingZeroOrMoreSegments`, or zero path segments, see `PathPattern.RightHandPath.capturingZeroSegments`.

Author:
  Paul Sandoz

### Nested Class Summary

Nested Classes
`static class` `PathPattern.RightHandPath` The set of right hand path patterns that may be appended to a path pattern.

### Field Summary

Fields
`static Comparator<PathPattern>` `COMPARATOR` Path pattern comparator that defers to `comparing the templates` associated with the patterns.
`static PathPattern` `EMPTY_PATTERN` Empty path pattern matching only empty string.
`static PathPattern` `END_OF_PATH_PATTERN` Path pattern matching the end of a URI path.
`static PathPattern` `OPEN_ROOT_PATH_PATTERN` Path pattern matching the any URI path.

### Fields inherited from class org.glassfish.jersey.uri.PatternWithGroups

`EMPTY`

### Constructor Summary

Constructors
Constructor and Description
`PathPattern(PathTemplate template)` Create a path pattern and post fix with `PathPattern.RightHandPath.capturingZeroOrMoreSegments`.
`PathPattern(PathTemplate template, PathPattern.RightHandPath rhpp)` Create a path pattern and post fix with a right hand path pattern.
`PathPattern(String template)` Create a path pattern and post fix with `PathPattern.RightHandPath.capturingZeroOrMoreSegments`.
`PathPattern(String template, PathPattern.RightHandPath rhpp)` Create a path pattern and post fix with a right hand path pattern.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static PathPattern` `asClosed(PathPattern pattern)` Return a new path pattern with a same path template but a `closed` right hand path.
`UriTemplate` `getTemplate()`

### Methods inherited from class org.glassfish.jersey.uri.PatternWithGroups

`equals, getGroupIndexes, getRegex, hashCode, match, match, match, toString`

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

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

### Field Detail

#### EMPTY_PATTERN

    public static final PathPattern EMPTY_PATTERN

Empty path pattern matching only empty string.

#### END_OF_PATH_PATTERN

    public static final PathPattern END_OF_PATH_PATTERN

Path pattern matching the end of a URI path. Can be either empty `""` or contain a trailing slash `"/"`.

#### OPEN_ROOT_PATH_PATTERN

    public static final PathPattern OPEN_ROOT_PATH_PATTERN

Path pattern matching the any URI path.

#### COMPARATOR

    public static final Comparator<PathPattern> COMPARATOR

Path pattern comparator that defers to `comparing the templates` associated with the patterns.

### Constructor Detail

#### PathPattern

    public PathPattern(String template)

Create a path pattern and post fix with `PathPattern.RightHandPath.capturingZeroOrMoreSegments`.

Parameters:
  `template` - the path template.
See Also:
  `PathPattern(String, PathPattern.RightHandPath)`

#### PathPattern

    public PathPattern(PathTemplate template)

Create a path pattern and post fix with `PathPattern.RightHandPath.capturingZeroOrMoreSegments`.

Parameters:
  `template` - the path template
See Also:
  `PathPattern(PathTemplate, PathPattern.RightHandPath)`

#### PathPattern

    public PathPattern(String template,
                       PathPattern.RightHandPath rhpp)

Create a path pattern and post fix with a right hand path pattern.

Parameters:
  `template` - the path template.
  `rhpp` - the right hand path pattern postfix.

#### PathPattern

    public PathPattern(PathTemplate template,
                       PathPattern.RightHandPath rhpp)

Create a path pattern and post fix with a right hand path pattern.

Parameters:
  `template` - the path template.
  `rhpp` - the right hand path pattern postfix.

### Method Detail

#### asClosed

    public static PathPattern asClosed(PathPattern pattern)

Return a new path pattern with a same path template but a `closed` right hand path.

Parameters:
  `pattern` - an (open) path pattern to convert to a closed pattern.
Returns:
  closed path pattern for the same path template.

#### getTemplate

    public UriTemplate getTemplate()