F - public interface FeatureToggle<F> extends java.util.function.Supplier<F>, MonadicValue<F>, Filterable<F>, Functor<F>, Applicativable<F>, Matchable.ValueAndOptionalMatcher<F>
| Modifier and Type | Interface and Description |
|---|---|
static class |
FeatureToggle.Disabled<F>
An disabled switch
|
static class |
FeatureToggle.Enabled<F>
An enabled switch
|
Applicativable.Applicatives, Applicativable.SemigroupApplyer<T>Value.ValueImpl<T>Matchable.AsMatchable, Matchable.AutoCloseableMatchableIterable<TYPE>, Matchable.CheckValue1<T,R>, Matchable.CheckValue2<T1,T2,R>, Matchable.CheckValue3<T1,T2,T3,R>, Matchable.CheckValue4<T1,T2,T3,T4,R>, Matchable.CheckValue5<T1,T2,T3,T4,T5,R>, Matchable.CheckValueOpt<T,R>, Matchable.CheckValues<T,R>, Matchable.MatchableIterable<TYPE>, Matchable.MatchableObject<TYPE>, Matchable.MatchableOptional<T>, Matchable.MatchSelf<TYPE>, Matchable.MTuple1<T1>, Matchable.MTuple2<T1,T2>, Matchable.MTuple3<T1,T2,T3>, Matchable.MTuple4<T1,T2,T3,T4>, Matchable.MTuple5<T1,T2,T3,T4,T5>, Matchable.MXor<T1,T2>, Matchable.ValueAndOptionalMatcher<T>Convertable.SupplierToConvertable<T>| Modifier and Type | Method and Description |
|---|---|
AnyMValue<F> |
anyM() |
AnyM<F> |
anyMDisabled() |
AnyM<F> |
anyMEnabled() |
default <U> FeatureToggle<U> |
cast(java.lang.Class<U> type)
Cast all elements in a stream to a given type, possibly throwing a
ClassCastException. |
default FeatureToggle.Disabled<F> |
disable() |
static <F> FeatureToggle.Disabled<F> |
disable(F f)
Create a new disabled switch
|
default FeatureToggle.Enabled<F> |
enable() |
static <F> FeatureToggle.Enabled<F> |
enable(F f)
Create a new enabled switch
|
default FeatureToggle<F> |
filter(java.util.function.Predicate<? super F> p)
Filter this Switch.
|
default FeatureToggle<F> |
filterNot(java.util.function.Predicate<? super F> fn) |
default <X> FeatureToggle<X> |
flatMap(java.util.function.Function<? super F,? extends FeatureToggle<X>> map) |
default FeatureToggle<F> |
flip() |
default void |
forEach(java.util.function.Consumer<? super F> consumer)
Iterate over value in switch (single value, so one iteration)
|
static <F> FeatureToggle<F> |
from(FeatureToggle<F> from,
F f) |
F |
get() |
boolean |
isDisabled() |
boolean |
isEnabled() |
default java.util.Iterator<F> |
iterator() |
default <X> FeatureToggle<X> |
map(java.util.function.Function<? super F,? extends X> map) |
default FeatureToggle<F> |
notNull() |
default <U> FeatureToggle<U> |
ofType(java.lang.Class<U> type)
Keep only those elements in a stream that are of a given type.
|
default java.util.Optional<F> |
optional() |
default <R> FeatureToggle<R> |
patternMatch(java.util.function.Function<Matchable.CheckValues<F,R>,Matchable.CheckValues<F,R>> case1,
java.util.function.Supplier<? extends R> otherwise)
Transform the elements of this Stream with a Pattern Matching case and default value
|
default FeatureToggle<F> |
peek(java.util.function.Consumer<? super F> consumer)
Peek at current switch value
|
default ReactiveSeq<F> |
stream() |
default <R> FeatureToggle<R> |
trampoline(java.util.function.Function<? super F,? extends Trampoline<? extends R>> mapper)
Performs a map operation that can call a recursive method without running out of stack space
|
default <T> FeatureToggle<T> |
unit(T unit) |
<R> R |
visit(java.util.function.Function<? super F,? extends R> enabled,
java.util.function.Function<? super F,? extends R> disabled) |
ap, ap, ap1, ap2, ap3, ap4, ap5convertTo, convertToAsync, fold, fold, generate, getMatchable, iterate, mapReduce, mkString, newSubscriber, of, subscribe, test, toDequeX, toEvalAlways, toEvalLater, toEvalNow, toFutureStream, toFutureStream, toIor, toLazyImmutable, toListX, toMaybe, toMutable, toPBagX, toPOrderedSetX, toPQueueX, toPSetX, toPStackX, toPVectorX, toQueueX, toSetX, toSimpleReact, toSimpleReact, toSortedSetX, toTry, toTry, toXor, unapplyfoldRight, foldRight, foldRight, foldRightMapToType, join, join, join, mapReduce, print, print, printErr, printOut, reduce, reduce, reduce, reduce, reduce, reduce, reducefrom, from, from, from, from, from, from, from, from, from, fromCharSequence, fromIterable, fromOptional, listOfValues, ofDecomposable, otherwise, otherwise, then, then, when, when, when, when, when, when, when, when, when, when, whenGuard, whenTrue, whenValuesfromSupplier, orElse, orElseGet, orElseThrow, toAtomicReference, toCompletableFuture, toCompletableFutureAsync, toCompletableFutureAsync, toFutureW, toList, toOptional, toOptionalAtomicReference, toStream, visittoOptional, visitmatchesboolean isEnabled()
boolean isDisabled()
default <U> FeatureToggle<U> cast(java.lang.Class<U> type)
FunctorClassCastException.
// ClassCastException ReactiveSeq.of(1, "a", 2, "b", 3).cast(Integer.class)default <R> FeatureToggle<R> trampoline(java.util.function.Function<? super F,? extends Trampoline<? extends R>> mapper)
Functor
ReactiveSeq.of(10,20,30,40)
.trampoline(i-> fibonacci(i))
.forEach(System.out::println);
Trampoline<Long> fibonacci(int i){
return fibonacci(i,1,0);
}
Trampoline<Long> fibonacci(int n, long a, long b) {
return n == 0 ? Trampoline.done(b) : Trampoline.more( ()->fibonacci(n-1, a+b, a));
}
55
6765
832040
102334155
ReactiveSeq.of(10_000,200_000,3_000_000,40_000_000)
.trampoline(i-> fibonacci(i))
.forEach(System.out::println);
completes successfully
trampoline in interface Functor<F>default <U> FeatureToggle<U> ofType(java.lang.Class<U> type)
FilterableofType in interface Filterable<F>default FeatureToggle<F> filterNot(java.util.function.Predicate<? super F> fn)
filterNot in interface Filterable<F>default FeatureToggle<F> notNull()
notNull in interface Filterable<F>default <T> FeatureToggle<T> unit(T unit)
<R> R visit(java.util.function.Function<? super F,? extends R> enabled, java.util.function.Function<? super F,? extends R> disabled)
default <R> FeatureToggle<R> patternMatch(java.util.function.Function<Matchable.CheckValues<F,R>,Matchable.CheckValues<F,R>> case1, java.util.function.Supplier<? extends R> otherwise)
Functor
List<String> result = CollectionX.of(1,2,3,4)
.patternMatch(
c->c.valuesWhere(i->"even", (Integer i)->i%2==0 )
)
// CollectionX["odd","even","odd","even"]
patternMatch in interface Functor<F>case1 - Function to generate a case (or chain of cases as a single case)otherwise - Value if supplied case doesn't matchAnyMValue<F> anyM()
anyM in interface MonadicValue<F>F get()
get in interface Convertable<F>get in interface java.util.function.Supplier<F>static <F> FeatureToggle.Enabled<F> enable(F f)
f - switch valuestatic <F> FeatureToggle.Disabled<F> disable(F f)
f - switch valuestatic <F> FeatureToggle<F> from(FeatureToggle<F> from, F f)
from - Create a switch with the same typef - but with this value (f)default FeatureToggle<F> peek(java.util.function.Consumer<? super F> consumer)
default <X> FeatureToggle<X> flatMap(java.util.function.Function<? super F,? extends FeatureToggle<X>> map)
map - Create a new Switch with provided functiondefault <X> FeatureToggle<X> map(java.util.function.Function<? super F,? extends X> map)
default FeatureToggle<F> filter(java.util.function.Predicate<? super F> p)
filter in interface Filterable<F>p - Predicate to test fordefault void forEach(java.util.function.Consumer<? super F> consumer)
forEach in interface java.lang.Iterable<F>consumer - to provide value to.default FeatureToggle.Enabled<F> enable()
default FeatureToggle.Disabled<F> disable()
default FeatureToggle<F> flip()
default java.util.Optional<F> optional()
default ReactiveSeq<F> stream()
default java.util.Iterator<F> iterator()
iterator in interface Convertable<F>iterator in interface java.lang.Iterable<F>iterator in interface Matchable.MatchableOptional<F>iterator in interface Matchable.ValueAndOptionalMatcher<F>