T - Type held inside closed varpublic class MutableShort extends java.lang.Object implements java.util.function.Supplier<java.lang.Short>, java.util.function.Consumer<java.lang.Short>, Matchable.ValueAndOptionalMatcher<java.lang.Short>
short var = true;
Runnable r = () -> var =false;
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.
MutableShort var = MutableShort.of(true);
Runnable r = () -> var.set(false);
| Modifier and Type | Class and Description |
|---|---|
static interface |
MutableShort.ShortFunction |
Value.ValueImpl<T>Convertable.SupplierToConvertable<T>| Constructor and Description |
|---|
MutableShort() |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(java.lang.Short t) |
static MutableShort |
fromExternal(java.util.function.Supplier<java.lang.Short> s,
java.util.function.Consumer<java.lang.Short> c)
Construct a MutableShort that gets and sets an external value using the provided Supplier and Consumer
e.g.
|
java.lang.Short |
get() |
short |
getAsShort() |
<T1> Mutable<T1> |
mapInputToObj(java.util.function.Function<T1,java.lang.Short> 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.Short,R> fn)
Use the supplied function to perform a lazy map operation when get is called
|
MutableShort |
mutate(MutableShort.ShortFunction varFn) |
static <T> MutableShort |
of(short var)
Create a Mutable variable, which can be mutated inside a Closure
e.g.
|
MutableShort |
set(short var) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waititerator, toOptional, visitmatchescollect, 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, unapplyendsWith, 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, xMatchcollect, fromSupplier, isPresent, orElse, orElseGet, orElseThrow, toAtomicReference, toCompletableFuture, toCompletableFutureAsync, toCompletableFutureAsync, toFutureW, toFutureWAsync, toFutureWAsync, toOptionalAtomicReference, toStreampublic static <T> MutableShort of(short var)
MutableShort num = MutableShort.of(true);
num.mutate(n->!n))
System.out.println(num.getAsShort());
//prints false
var - Initial value of Mutablepublic static MutableShort fromExternal(java.util.function.Supplier<java.lang.Short> s, java.util.function.Consumer<java.lang.Short> c)
MutableShort mutable = MutableShort.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.Short,R> fn)
MutableShort mutable = MutableShort.fromExternal(()->!this.value,val->!this.value);
Mutable<Short> withOverride = mutable.mapOutputToObj(b->{
if(override)
return 3s;
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.Short> fn)
MutableShort mutable = MutableShort.fromExternal(()->!this.value,val->!this.value);
Mutable<Short> withOverride = mutable.mapInputToObj(b->{
if(override)
return 1s;
return b;
});
fn - Map function to be applied to the input when set is calledpublic short getAsShort()
public MutableShort set(short var)
var - New valuepublic MutableShort mutate(MutableShort.ShortFunction varFn)
varFn - New valuepublic java.lang.Short get()
get in interface Convertable<java.lang.Short>get in interface java.util.function.Supplier<java.lang.Short>public void accept(java.lang.Short t)
accept in interface java.util.function.Consumer<java.lang.Short>