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, ap5
convertTo, 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, unapply
foldRight, foldRight, foldRight, foldRightMapToType, join, join, join, mapReduce, print, print, printErr, printOut, reduce, reduce, reduce, reduce, reduce, reduce, reduce
from, 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, whenValues
fromSupplier, orElse, orElseGet, orElseThrow, toAtomicReference, toCompletableFuture, toCompletableFutureAsync, toCompletableFutureAsync, toFutureW, toList, toOptional, toOptionalAtomicReference, toStream, visit
toOptional, visit
matches
boolean isEnabled()
boolean isDisabled()
default <U> FeatureToggle<U> cast(java.lang.Class<U> type)
Functor
ClassCastException
.
// 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)
Filterable
ofType
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>