Package akka.http.scaladsl.server
Class PathMatcher<L>
- java.lang.Object
-
- akka.http.scaladsl.server.PathMatcher<L>
-
- All Implemented Interfaces:
scala.Function1<Uri.Path,PathMatcher.Matching<L>>
- Direct Known Subclasses:
PathMatchers.NumberMatcher
,PathMatchers.PathEnd$
,PathMatchers.Remaining$
,PathMatchers.RemainingPath$
,PathMatchers.Segment$
,PathMatchers.Slash$
public abstract class PathMatcher<L> extends java.lang.Object implements scala.Function1<Uri.Path,PathMatcher.Matching<L>>
A PathMatcher tries to match a prefix of a given string and returns either a PathMatcher.Matched instance if matched, otherwise PathMatcher.Unmatched.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PathMatcher.EnhancedPathMatcher<L>
static interface
PathMatcher.Lift<L,M>
static class
PathMatcher.Lift$
static interface
PathMatcher.LowLevelLiftImplicits
static class
PathMatcher.Matched<L>
static class
PathMatcher.Matched$
static class
PathMatcher.Matching<L>
static class
PathMatcher.PathMatcher1Ops<T>
static class
PathMatcher.Unmatched$
-
Constructor Summary
Constructors Constructor Description PathMatcher(Tuple<L> ev)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PathMatcher<scala.Tuple1<java.lang.String>>
_regex2PathMatcher(scala.util.matching.Regex regex)
static PathMatcher<scala.runtime.BoxedUnit>
_segmentStringToPathMatcher(java.lang.String segment)
static <T> PathMatcher<scala.Tuple1<T>>
_stringExtractionPair2PathMatcher(scala.Tuple2<java.lang.String,T> tuple)
static PathMatcher<scala.runtime.BoxedUnit>
_stringNameOptionReceptacle2PathMatcher(NameOptionReceptacle<java.lang.String> nr)
static <T> PathMatcher<scala.Tuple1<T>>
_valueMap2PathMatcher(scala.collection.immutable.Map<java.lang.String,T> valueMap)
<R> PathMatcher<java.lang.Object>
append(PathMatcher<R> other, TupleOps.Join<L,R> join)
static <L> PathMatcher<L>
apply(Uri.Path prefix, L extractions, Tuple<L> evidence$18)
Creates a PathMatcher that matches and consumes the given path prefix and extracts the given list of extractions.static <L> PathMatcher<L>
apply(PathMatcher<L> magnet)
Provoke implicit conversions to PathMatcher to be appliedstatic PathMatcher.Matched<scala.Tuple1<java.lang.String>>
EmptyMatch()
The empty match returned when a Regex matcher matches the empty pathTuple<L>
ev()
<R> PathMatcher<R>
or(PathMatcher<? extends R> other, Tuple<R> evidence$2)
static <L> PathMatcher<L>
provide(L extractions, Tuple<L> evidence$17)
Creates a PathMatcher that always matches, consumes nothing and extracts the given Tuple of values.PathMatcher<java.lang.Object>
repeat(int min, int max, PathMatcher<scala.runtime.BoxedUnit> separator, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Turns thisPathMatcher
into one that matches a number of times (with the given separator) and potentially extracts aList
of the underlying matcher's extractions.PathMatcher<java.lang.Object>
repeat(int count, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Same asrepeat(min = count, max = count)
.PathMatcher<java.lang.Object>
repeat(int count, PathMatcher<scala.runtime.BoxedUnit> separator, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Same asrepeat(min = count, max = count, separator = separator)
.PathMatcher<L>
slash()
<R> PathMatcher<java.lang.Object>
slash(PathMatcher<R> other, TupleOps.Join<L,R> join)
<R> PathMatcher<R>
tflatMap(scala.Function1<L,scala.Option<R>> f, Tuple<R> evidence$5)
<R> PathMatcher<R>
tmap(scala.Function1<L,R> f, Tuple<R> evidence$4)
<R> PathMatcher<R>
transform(scala.Function1<PathMatcher.Matching<L>,PathMatcher.Matching<R>> f, Tuple<R> evidence$3)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface scala.Function1
andThen, apply, apply$mcDD$sp, apply$mcDF$sp, apply$mcDI$sp, apply$mcDJ$sp, apply$mcFD$sp, apply$mcFF$sp, apply$mcFI$sp, apply$mcFJ$sp, apply$mcID$sp, apply$mcIF$sp, apply$mcII$sp, apply$mcIJ$sp, apply$mcJD$sp, apply$mcJF$sp, apply$mcJI$sp, apply$mcJJ$sp, apply$mcVD$sp, apply$mcVF$sp, apply$mcVI$sp, apply$mcVJ$sp, apply$mcZD$sp, apply$mcZF$sp, apply$mcZI$sp, apply$mcZJ$sp, compose, toString
-
-
-
-
Method Detail
-
provide
public static <L> PathMatcher<L> provide(L extractions, Tuple<L> evidence$17)
Creates a PathMatcher that always matches, consumes nothing and extracts the given Tuple of values.- Parameters:
extractions
- (undocumented)evidence$17
- (undocumented)- Returns:
- (undocumented)
-
apply
public static <L> PathMatcher<L> apply(Uri.Path prefix, L extractions, Tuple<L> evidence$18)
Creates a PathMatcher that matches and consumes the given path prefix and extracts the given list of extractions. If the given prefix is empty the returned PathMatcher matches always and consumes nothing.- Parameters:
prefix
- (undocumented)extractions
- (undocumented)evidence$18
- (undocumented)- Returns:
- (undocumented)
-
apply
public static <L> PathMatcher<L> apply(PathMatcher<L> magnet)
Provoke implicit conversions to PathMatcher to be applied
-
EmptyMatch
public static PathMatcher.Matched<scala.Tuple1<java.lang.String>> EmptyMatch()
The empty match returned when a Regex matcher matches the empty path
-
_stringExtractionPair2PathMatcher
public static <T> PathMatcher<scala.Tuple1<T>> _stringExtractionPair2PathMatcher(scala.Tuple2<java.lang.String,T> tuple)
-
_segmentStringToPathMatcher
public static PathMatcher<scala.runtime.BoxedUnit> _segmentStringToPathMatcher(java.lang.String segment)
-
_stringNameOptionReceptacle2PathMatcher
public static PathMatcher<scala.runtime.BoxedUnit> _stringNameOptionReceptacle2PathMatcher(NameOptionReceptacle<java.lang.String> nr)
-
_regex2PathMatcher
public static PathMatcher<scala.Tuple1<java.lang.String>> _regex2PathMatcher(scala.util.matching.Regex regex)
-
_valueMap2PathMatcher
public static <T> PathMatcher<scala.Tuple1<T>> _valueMap2PathMatcher(scala.collection.immutable.Map<java.lang.String,T> valueMap)
-
slash
public PathMatcher<L> slash()
-
slash
public <R> PathMatcher<java.lang.Object> slash(PathMatcher<R> other, TupleOps.Join<L,R> join)
-
or
public <R> PathMatcher<R> or(PathMatcher<? extends R> other, Tuple<R> evidence$2)
-
append
public <R> PathMatcher<java.lang.Object> append(PathMatcher<R> other, TupleOps.Join<L,R> join)
-
transform
public <R> PathMatcher<R> transform(scala.Function1<PathMatcher.Matching<L>,PathMatcher.Matching<R>> f, Tuple<R> evidence$3)
-
tmap
public <R> PathMatcher<R> tmap(scala.Function1<L,R> f, Tuple<R> evidence$4)
-
tflatMap
public <R> PathMatcher<R> tflatMap(scala.Function1<L,scala.Option<R>> f, Tuple<R> evidence$5)
-
repeat
public PathMatcher<java.lang.Object> repeat(int count, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Same asrepeat(min = count, max = count)
.- Parameters:
count
- (undocumented)lift
- (undocumented)- Returns:
- (undocumented)
-
repeat
public PathMatcher<java.lang.Object> repeat(int count, PathMatcher<scala.runtime.BoxedUnit> separator, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Same asrepeat(min = count, max = count, separator = separator)
.- Parameters:
count
- (undocumented)separator
- (undocumented)lift
- (undocumented)- Returns:
- (undocumented)
-
repeat
public PathMatcher<java.lang.Object> repeat(int min, int max, PathMatcher<scala.runtime.BoxedUnit> separator, PathMatcher.Lift<L,scala.collection.immutable.List> lift)
Turns thisPathMatcher
into one that matches a number of times (with the given separator) and potentially extracts aList
of the underlying matcher's extractions. If less thanmin
applications of the underlying matcher have succeeded the produced matcher fails, otherwise it matches up to the givenmax
number of applications. Note that it won't fail even if more thanmax
applications could succeed! The "surplus" path elements will simply be left unmatched.The result type depends on the type of the underlying matcher:
If a matcher
is of typethen matcher.repeat(...)
is of typePathMatcher0
PathMatcher0
PathMatcher1[T]
PathMatcher1[List[T]
PathMatcher[L :Tuple]
PathMatcher[List[L}
- Parameters:
min
- (undocumented)max
- (undocumented)separator
- (undocumented)lift
- (undocumented)- Returns:
- (undocumented)
-
-