T
- Type held inside closed varpublic class MutableInt extends java.lang.Object implements java.util.function.IntSupplier, java.util.function.IntConsumer, Matchable.ValueAndOptionalMatcher<java.lang.Integer>
String var = "hello";
Runnable r = () -> var ="world";
Won't compile because var is treated as if it is final.
This can be 'worked around' by using a wrapping object or array.
e.g.
Mutable<String> var = Mutable.of("hello");
Runnable r = () -> var.set("world");
Value.ValueImpl<T>
Convertable.SupplierToConvertable<T>
Constructor and Description |
---|
MutableInt() |
Modifier and Type | Method and Description |
---|---|
void |
accept(int value) |
static MutableInt |
fromExternal(java.util.function.IntSupplier s,
java.util.function.IntConsumer c)
Construct a MutableInt that gets and sets an external value using the provided Supplier and Consumer
e.g.
|
java.lang.Integer |
get() |
int |
getAsInt() |
MutableInt |
mapInput(java.util.function.IntUnaryOperator fn)
Use the supplied function to perform a lazy map operation when get is called
|
<T1> Mutable<T1> |
mapInputToObj(java.util.function.Function<T1,java.lang.Integer> fn)
Use the supplied function to perform a lazy map operation when get is called
|
MutableInt |
mapOutput(java.util.function.IntUnaryOperator fn)
Use the supplied function to perform a lazy map operation when get is called
|
<R> Mutable<R> |
mapOutputToObj(java.util.function.Function<java.lang.Integer,R> fn)
Use the supplied function to perform a lazy map operation when get is called
|
MutableInt |
mutate(java.util.function.IntFunction<java.lang.Integer> varFn) |
static MutableInt |
of(int var)
Create a Mutable variable, which can be mutated inside a Closure
e.g.
|
MutableInt |
set(int var) |
java.util.stream.IntStream |
toIntStream() |
java.util.OptionalInt |
toOptionalInt() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
iterator, toOptional, visit
matches
collect, fold, fold, generate, iterate, mapReduce, mkString, newSubscriber, of, stream, subscribe, test, toDequeX, toEvalAlways, toEvalLater, toEvalNow, toFeatureToggle, toFutureStream, toFutureStream, toIor, toLazyImmutable, toList, toListX, toMaybe, toMutable, toPBagX, toPOrderedSetX, toPQueueX, toPSetX, toPStackX, toPVectorX, toQueueX, toSetX, toSimpleReact, toSimpleReact, toSortedSetX, toTry, toTry, toTry, toXor, toXor, unapply
endsWith, endsWithIterable, findAny, findFirst, firstValue, foldable, foldRight, foldRight, foldRight, foldRightMapToType, get, groupBy, join, join, join, mapReduce, print, print, printErr, printOut, reduce, reduce, reduce, reduce, reduce, reduce, reduce, schedule, scheduleFixedDelay, scheduleFixedRate, single, single, singleOptional, startsWith, startsWithIterable, toConcurrentLazyCollection, toConcurrentLazyStreamable, toLazyCollection, validate, xMatch
collect, fromSupplier, isPresent, orElse, orElseGet, orElseThrow, toAtomicReference, toCompletableFuture, toCompletableFutureAsync, toCompletableFutureAsync, toFutureW, toFutureWAsync, toFutureWAsync, toOptionalAtomicReference, toStream
public static MutableInt of(int var)
MutableInt num = MutableInt.of(20);
Stream.of(1,2,3,4).map(i->i*10).peek(i-> num.mutate(n->n+i)).foreach(System.out::println);
System.out.println(num.get());
//prints 120
var
- Initial value of Mutablepublic static MutableInt fromExternal(java.util.function.IntSupplier s, java.util.function.IntConsumer c)
MutableInt mutable = MutableInt.fromExternal(()->!this.value,val->!this.value);
s
- Supplier of an external valuec
- Consumer that sets an external valuepublic <R> Mutable<R> mapOutputToObj(java.util.function.Function<java.lang.Integer,R> fn)
MutableInt mutable = MutableInt.fromExternal(()->!this.value,val->!this.value);
Mutable<Int> withOverride = mutable.mapOutputToObj(b->{
if(override)
return 10.0;
return b;
});
fn
- Map function to be applied to the result when get is calledpublic <T1> Mutable<T1> mapInputToObj(java.util.function.Function<T1,java.lang.Integer> fn)
MutableInt mutable = MutableInt.fromExternal(()->!this.value,val->!this.value);
Mutable<Int> withOverride = mutable.mapInputToObj(b->{
if(override)
return 10;
return b;
});
fn
- Map function to be applied to the input when set is calledpublic MutableInt mapOutput(java.util.function.IntUnaryOperator fn)
MutableInt mutable = MutableInt.fromExternal(()->!this.value,val->!this.value);
MutableInt withOverride = mutable.mapOutput(b->{
if(override)
return 10;
return b;
});
fn
- Map function to be applied to the result when get is calledpublic MutableInt mapInput(java.util.function.IntUnaryOperator fn)
MutableInt mutable = MutableInt.fromExternal(()->!this.value,val->!this.value);
MutableInt withOverride = mutable.mapInput(b->{
if(override)
return 10;
return b;
});
fn
- Map function to be applied to the input when set is calledpublic int getAsInt()
getAsInt
in interface java.util.function.IntSupplier
public MutableInt set(int var)
var
- New valuepublic MutableInt mutate(java.util.function.IntFunction<java.lang.Integer> varFn)
varFn
- New valuepublic java.util.OptionalInt toOptionalInt()
public java.util.stream.IntStream toIntStream()
public java.lang.Integer get()
get
in interface Convertable<java.lang.Integer>
get
in interface java.util.function.Supplier<java.lang.Integer>
public void accept(int value)
accept
in interface java.util.function.IntConsumer