T
- Type held inside closed varpublic class MutableChar extends java.lang.Object implements java.util.function.Supplier<java.lang.Character>, java.util.function.Consumer<java.lang.Character>, Matchable.ValueAndOptionalMatcher<java.lang.Character>
char 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.
MutableChar var = MutableChar.of(true);
Runnable r = () -> var.set(false);
Modifier and Type | Class and Description |
---|---|
static interface |
MutableChar.CharFunction |
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>
Constructor and Description |
---|
MutableChar() |
Modifier and Type | Method and Description |
---|---|
void |
accept(java.lang.Character t) |
static MutableChar |
fromExternal(java.util.function.Supplier<java.lang.Character> s,
java.util.function.Consumer<java.lang.Character> c)
Construct a MutableChar that gets and sets an external value using the provided Supplier and Consumer
e.g.
|
java.lang.Character |
get() |
char |
getAsChar() |
<T1> Mutable<T1> |
mapInputToObj(java.util.function.Function<T1,java.lang.Character> 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.Character,R> fn)
Use the supplied function to perform a lazy map operation when get is called
|
MutableChar |
mutate(MutableChar.CharFunction varFn) |
static <T> MutableChar |
of(char var)
Create a Mutable variable, which can be mutated inside a Closure
e.g.
|
MutableChar |
set(char var) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
iterator, toOptional, visit
matches
convertTo, convertToAsync, fold, fold, generate, getMatchable, iterate, mapReduce, mkString, newSubscriber, of, stream, 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, toOptionalAtomicReference, toStream
public static <T> MutableChar of(char var)
MutableChar char = MutableChar.of('c');
char.mutate(n->'d'))
System.out.println(num.getAsChar());
//prints d
public static MutableChar fromExternal(java.util.function.Supplier<java.lang.Character> s, java.util.function.Consumer<java.lang.Character> c)
MutableChar mutable = MutableChar.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.Character,R> fn)
MutableChar mutable = MutableChar.fromExternal(()->!this.value,val->!this.value);
Mutable<Character> withOverride = mutable.mapOutput(b->{
if(override)
return 'a';
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.Character> fn)
MutableChar mutable = MutableChar.fromExternal(()->!this.value,val->!this.value);
Mutable<Character> withOverride = mutable.mapInput(b->{
if(override)
return 'v';
return b;
});
fn
- Map function to be applied to the input when set is calledpublic char getAsChar()
public MutableChar set(char var)
var
- New valuepublic MutableChar mutate(MutableChar.CharFunction varFn)
varFn
- New valuepublic void accept(java.lang.Character t)
accept
in interface java.util.function.Consumer<java.lang.Character>
public java.lang.Character get()
get
in interface Convertable<java.lang.Character>
get
in interface java.util.function.Supplier<java.lang.Character>