-
Notifications
You must be signed in to change notification settings - Fork 136
Type Interfaces : Unit
johnmcclean-aol edited this page Nov 23, 2016
·
1 revision
The Unit interface defines a unit method that allows us to create new instances of the implementing type (with a configurable generic type).
Unit contains a single method
- unit : create a new instance of the concrete type of the Unit with the supplied generic parameter
ListX<String> list = ListX.of(1,2,3)
.unit("hello");
This can be very useful for AnyM based types (AnyM, AnyMSeq, AnyMValue & Monad Transformers) as it allows us to create an instance of the underlying type without even knowing what it is.
E.g. with a Javaslang Either
AnyMSeq<String> list = Javaslang.value(Either.left(1))
.unit("hello"); //Either.right("hello");
AnyM, AnyMSeq, AnyMValue, CompletableFutureT, DequeX, EmptyUnit, Eval, FeatureToggle, FluentCollectionX, FluentSequenceX, FutureWT, Ior<ST,PT>, LazyFutureStream, ListX, Maybe, PBagX, PersistentCollectionX, POrderedSetX, PQueueX, PSetX, PStackX, PVectorX, QueueX, ReactiveSeq, SetX, SortedSetX, Streamable, TransformerValue, Try<T,X>, Xor<ST,PT>
oops - my bad