public class Matchables
extends java.lang.Object
Constructor and Description |
---|
Matchables() |
Modifier and Type | Method and Description |
---|---|
static <T> Matchable.MXor<Queue<T>,Topic<T>> |
adapter(Adapter<T> adapter) |
static <T> Matchable.MXor<AnyMValue<T>,AnyMSeq<T>> |
anyM(AnyM<T> anyM) |
static <T> Matchable.MXor<java.util.concurrent.BlockingQueue<T>,java.util.Queue<T>> |
blocking(java.util.Queue<T> queue) |
static Matchable.MatchableIterable<java.lang.Character> |
chars(java.lang.CharSequence chars) |
static <T> Matchable.MXor<CompletableFutureTValue<T>,CompletableFutureTSeq<T>> |
completableFutureT(CompletableFutureT<T> transformer) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
dateDDMMYYYY(java.util.Date date) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
dateHMS(java.util.Date date) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
dateMMDDYYYY(java.util.Date date) |
static <T extends Decomposable> |
decomposable(Decomposable o)
Create a new matchable that will match on the fields of the provided Decomposable
|
static <T> Matchable.MXor<EvalTValue<T>,EvalTSeq<T>> |
evalT(EvalT<T> transformer) |
static <T1> Matchable.MXor<T1,java.lang.Throwable> |
future(java.util.concurrent.CompletableFuture<T1> future) |
static <T1> Matchable.MXor<T1,java.lang.Throwable> |
future(FutureW<T1> future) |
static <T> Matchable.MXor<FutureWTValue<T>,FutureWTSeq<T>> |
futureWT(FutureWT<T> transformer) |
static <T> Matchable.MTuple2<Maybe<T>,ListX<T>> |
headAndTail(java.util.Collection<T> col) |
static <T> Matchable.MatchableIterable<T> |
iterable(java.lang.Iterable<T> o) |
static <K,V> ReactiveSeq<Matchable.MTuple2<K,V>> |
keysAndValues(java.util.Map<K,V> map) |
static Matchable.AutoCloseableMatchableIterable<java.lang.String> |
lines(java.io.BufferedReader in) |
static Matchable.AutoCloseableMatchableIterable<java.lang.String> |
lines(java.io.File f)
Pattern match on the contents of a File
|
static Matchable.AutoCloseableMatchableIterable<java.lang.String> |
lines(java.net.URL url) |
static <T> Matchable.MatchableObject<T> |
listOfValues(T... o)
Create a matchable that matches on the provided Objects
|
static <T> Matchable.MXor<ListTValue<T>,ListTSeq<T>> |
listT(ListT<T> transformer) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
localDateDDMMYYYY(java.time.LocalDate date) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
localDateMMDDYYYY(java.time.LocalDate date) |
static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> |
localTimeHMS(java.time.LocalTime time) |
static <T1> Matchable.MTuple1<T1> |
match(T1 v) |
static <T1,T2> Matchable.MTuple2<T1,T2> |
match2(T1 t1,
T2 t2) |
static <T1,T2,T3> Matchable.MTuple3<T1,T2,T3> |
match3(T1 t1,
T2 t2,
T3 t3) |
static <T1,T2,T3,T4> |
match4(T1 t1,
T2 t2,
T3 t3,
T4 t4) |
static <T> Matchable.MatchableOptional<T> |
maybe(Maybe<T> opt) |
static <T> Matchable.MatchableOptional<T> |
maybe(Value<T> opt) |
static <T> Matchable.MXor<MaybeTValue<T>,MaybeTSeq<T>> |
maybeT(MaybeT<T> transformer) |
static <T> Matchable.MatchableOptional<T> |
optional(java.util.Optional<T> opt) |
static <T> Matchable.MXor<OptionalTValue<T>,OptionalTSeq<T>> |
optionalT(OptionalT<T> transformer) |
static <T,R> Matchable.MXor<ReaderTValue<T,R>,ReaderTSeq<T,R>> |
readerT(ReaderT<T,R> transformer) |
static <T> Matchable.MXor<SetTValue<T>,SetTSeq<T>> |
setT(SetT<T> transformer) |
static <T> Matchable.MXor<StreamableTValue<T>,StreamableTSeq<T>> |
streamableT(StreamableT<T> transformer) |
static <T> Matchable.MXor<StreamTValue<T>,StreamTSeq<T>> |
streamT(StreamT<T> transformer) |
static <T1> Matchable.MTuple1<T1> |
supplier(java.util.function.Supplier<T1> s1) |
static <T1,T2> Matchable.MTuple2<T1,T2> |
supplier2(java.util.function.Supplier<T1> s1,
java.util.function.Supplier<T2> s2) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE> |
supplier3(java.util.function.Supplier<T1> s1,
java.util.function.Supplier<T2> s2,
java.util.function.Supplier<T3> s3) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE> |
supplier4(java.util.function.Supplier<T1> s1,
java.util.function.Supplier<T2> s2,
java.util.function.Supplier<T3> s3,
java.util.function.Supplier<T4> s4) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE,T5 extends TYPE> |
supplier5(java.util.function.Supplier<T1> s1,
java.util.function.Supplier<T2> s2,
java.util.function.Supplier<T3> s3,
java.util.function.Supplier<T4> s4,
java.util.function.Supplier<T5> s5) |
static <X extends java.lang.Throwable> |
throwable(X t) |
static <T1,X extends java.lang.Throwable> |
tryMatch(Try<T1,X> match) |
static <T,X extends java.lang.Throwable> |
tryT(TryT<T,X> transformer) |
static <T1> Matchable.MTuple1<T1> |
tuple1(org.jooq.lambda.tuple.Tuple1<T1> t2) |
static <T1,T2> Matchable.MTuple2<T1,T2> |
tuple2(org.jooq.lambda.tuple.Tuple2<T1,T2> t2) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE> |
tuple3(org.jooq.lambda.tuple.Tuple3<T1,T2,T3> t3) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE> |
tuple4(org.jooq.lambda.tuple.Tuple4<T1,T2,T3,T4> t4) |
static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE,T5 extends TYPE> |
tuple5(org.jooq.lambda.tuple.Tuple5<T1,T2,T3,T4,T5> t5) |
static Matchable.MTuple5<java.lang.String,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String> |
url(java.net.URL url)
Break an URL down into
protocol, host, port, path, query
|
static Matchable.MatchableIterable<java.lang.String> |
words(java.lang.CharSequence seq) |
static <ST,PT> Matchable.MXor<ST,PT> |
xor(Xor<ST,PT> xor) |
static <ST,T> Matchable.MXor<XorTValue<ST,T>,XorTSeq<ST,T>> |
xorT(XorT<ST,T> transformer) |
public static <T1> Matchable.MTuple1<T1> match(T1 v)
public static <T1,T2> Matchable.MTuple2<T1,T2> match2(T1 t1, T2 t2)
public static <T1,T2,T3> Matchable.MTuple3<T1,T2,T3> match3(T1 t1, T2 t2, T3 t3)
public static <T1,T2,T3,T4> Matchable.MTuple4<T1,T2,T3,T4> match4(T1 t1, T2 t2, T3 t3, T4 t4)
public static <T1> Matchable.MTuple1<T1> supplier(java.util.function.Supplier<T1> s1)
public static <T1> Matchable.MTuple1<T1> tuple1(org.jooq.lambda.tuple.Tuple1<T1> t2)
public static <T1,T2> Matchable.MTuple2<T1,T2> supplier2(java.util.function.Supplier<T1> s1, java.util.function.Supplier<T2> s2)
public static <T1,T2> Matchable.MTuple2<T1,T2> tuple2(org.jooq.lambda.tuple.Tuple2<T1,T2> t2)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE> Matchable.MTuple3<T1,T2,T3> tuple3(org.jooq.lambda.tuple.Tuple3<T1,T2,T3> t3)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE> Matchable.MTuple3<T1,T2,T3> supplier3(java.util.function.Supplier<T1> s1, java.util.function.Supplier<T2> s2, java.util.function.Supplier<T3> s3)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE> Matchable.MTuple4<T1,T2,T3,T4> tuple4(org.jooq.lambda.tuple.Tuple4<T1,T2,T3,T4> t4)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE> Matchable.MTuple4<T1,T2,T3,T4> supplier4(java.util.function.Supplier<T1> s1, java.util.function.Supplier<T2> s2, java.util.function.Supplier<T3> s3, java.util.function.Supplier<T4> s4)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE,T5 extends TYPE> Matchable.MTuple5<T1,T2,T3,T4,T5> tuple5(org.jooq.lambda.tuple.Tuple5<T1,T2,T3,T4,T5> t5)
public static <TYPE,T1 extends TYPE,T2 extends TYPE,T3 extends TYPE,T4 extends TYPE,T5 extends TYPE> Matchable.MTuple5<T1,T2,T3,T4,T5> supplier5(java.util.function.Supplier<T1> s1, java.util.function.Supplier<T2> s2, java.util.function.Supplier<T3> s3, java.util.function.Supplier<T4> s4, java.util.function.Supplier<T5> s5)
public static <T> Matchable.MatchableIterable<T> iterable(java.lang.Iterable<T> o)
public static <T extends Decomposable> Matchable.MatchableObject<T> decomposable(Decomposable o)
o
- Decomposable to match on it's fieldspublic static <T> Matchable.MatchableObject<T> listOfValues(T... o)
o
- Objects to match onpublic static <T> Matchable.MXor<Queue<T>,Topic<T>> adapter(Adapter<T> adapter)
public static <T1> Matchable.MXor<T1,java.lang.Throwable> future(java.util.concurrent.CompletableFuture<T1> future)
public static <T1> Matchable.MXor<T1,java.lang.Throwable> future(FutureW<T1> future)
public static <T1,X extends java.lang.Throwable> Matchable.MXor<T1,X> tryMatch(Try<T1,X> match)
public static <T> Matchable.MatchableOptional<T> maybe(Maybe<T> opt)
public static <T> Matchable.MatchableOptional<T> maybe(Value<T> opt)
public static <T> Matchable.MatchableOptional<T> optional(java.util.Optional<T> opt)
public static <T> Matchable.MXor<AnyMValue<T>,AnyMSeq<T>> anyM(AnyM<T> anyM)
public static <T> Matchable.MXor<MaybeTValue<T>,MaybeTSeq<T>> maybeT(MaybeT<T> transformer)
public static <T> Matchable.MXor<OptionalTValue<T>,OptionalTSeq<T>> optionalT(OptionalT<T> transformer)
public static <T> Matchable.MXor<EvalTValue<T>,EvalTSeq<T>> evalT(EvalT<T> transformer)
public static <ST,T> Matchable.MXor<XorTValue<ST,T>,XorTSeq<ST,T>> xorT(XorT<ST,T> transformer)
public static <T,X extends java.lang.Throwable> Matchable.MXor<TryTValue<T,X>,TryTSeq<T,X>> tryT(TryT<T,X> transformer)
public static <T> Matchable.MXor<FutureWTValue<T>,FutureWTSeq<T>> futureWT(FutureWT<T> transformer)
public static <T> Matchable.MXor<CompletableFutureTValue<T>,CompletableFutureTSeq<T>> completableFutureT(CompletableFutureT<T> transformer)
public static <T> Matchable.MXor<ListTValue<T>,ListTSeq<T>> listT(ListT<T> transformer)
public static <T> Matchable.MXor<SetTValue<T>,SetTSeq<T>> setT(SetT<T> transformer)
public static <T> Matchable.MXor<StreamTValue<T>,StreamTSeq<T>> streamT(StreamT<T> transformer)
public static <T> Matchable.MXor<StreamableTValue<T>,StreamableTSeq<T>> streamableT(StreamableT<T> transformer)
public static <T,R> Matchable.MXor<ReaderTValue<T,R>,ReaderTSeq<T,R>> readerT(ReaderT<T,R> transformer)
public static <X extends java.lang.Throwable> Matchable.MTuple4<java.lang.Class,java.lang.String,java.lang.Throwable,Matchable.MatchableIterable<java.lang.StackTraceElement>> throwable(X t)
public static Matchable.MTuple5<java.lang.String,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String> url(java.net.URL url)
url
- public static Matchable.AutoCloseableMatchableIterable<java.lang.String> lines(java.io.BufferedReader in)
public static Matchable.AutoCloseableMatchableIterable<java.lang.String> lines(java.net.URL url)
public static Matchable.AutoCloseableMatchableIterable<java.lang.String> lines(java.io.File f)
String result = Matchables.lines(new File(file))
.on$12___()
.matches(c->c.is(when("hello","world"),then("correct")), otherwise("miss")).get();
f
- File to match againstpublic static Matchable.MatchableIterable<java.lang.String> words(java.lang.CharSequence seq)
public static Matchable.MatchableIterable<java.lang.Character> chars(java.lang.CharSequence chars)
public static <ST,PT> Matchable.MXor<ST,PT> xor(Xor<ST,PT> xor)
public static <T> Matchable.MTuple2<Maybe<T>,ListX<T>> headAndTail(java.util.Collection<T> col)
public static <K,V> ReactiveSeq<Matchable.MTuple2<K,V>> keysAndValues(java.util.Map<K,V> map)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> dateDDMMYYYY(java.util.Date date)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> dateMMDDYYYY(java.util.Date date)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> localDateDDMMYYYY(java.time.LocalDate date)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> localDateMMDDYYYY(java.time.LocalDate date)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> dateHMS(java.util.Date date)
public static Matchable.MTuple3<java.lang.Integer,java.lang.Integer,java.lang.Integer> localTimeHMS(java.time.LocalTime time)
public static <T> Matchable.MXor<java.util.concurrent.BlockingQueue<T>,java.util.Queue<T>> blocking(java.util.Queue<T> queue)