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 classPathMatcher.EnhancedPathMatcher<L>static interfacePathMatcher.Lift<L,M>static classPathMatcher.Lift$static interfacePathMatcher.LowLevelLiftImplicitsstatic classPathMatcher.Matched<L>static classPathMatcher.Matched$static classPathMatcher.Matching<L>static classPathMatcher.PathMatcher1Ops<T>static classPathMatcher.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 thisPathMatcherinto one that matches a number of times (with the given separator) and potentially extracts aListof 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 thisPathMatcherinto one that matches a number of times (with the given separator) and potentially extracts aListof the underlying matcher's extractions. If less thanminapplications of the underlying matcher have succeeded the produced matcher fails, otherwise it matches up to the givenmaxnumber of applications. Note that it won't fail even if more thanmaxapplications could succeed! The "surplus" path elements will simply be left unmatched.The result type depends on the type of the underlying matcher:
If a matcheris of typethen matcher.repeat(...)is of typePathMatcher0PathMatcher0PathMatcher1[T]PathMatcher1[List[T]PathMatcher[L :Tuple]PathMatcher[List[L}- Parameters:
min- (undocumented)max- (undocumented)separator- (undocumented)lift- (undocumented)- Returns:
- (undocumented)
-
-