Package com.linkedin.venice.utils.lazy
Class LazyImpl<T>
java.lang.Object
com.linkedin.venice.utils.lazy.LazyImpl<T>
- All Implemented Interfaces:
Lazy<T>
Fork of the
LazyInitializer
with some additional APIs.-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionIf a value is initialized, and the value matches the given predicate, return anOptional
describing the value, otherwise return an emptyOptional
.<U> Optional<U>
If a value is initialized, apply the providedOptional
-bearing mapping function to it, return that result, otherwise return an emptyOptional
.get()
Returns the object wrapped by this instance.void
boolean
<U> Optional<U>
If a value is initialized, apply the provided mapping function to it, and if the result is non-null, return anOptional
describing the result.Return the value if initialized, otherwise returnother
.Return the value if initialized, otherwise invokeother
and return the result of that invocation.orElseThrow
(Supplier<? extends X> exceptionSupplier) Return the contained value, if initialized, otherwise throw an exception to be created by the provided supplier.
-
Method Details
-
get
Returns the object wrapped by this instance. On first access the object is created. After that it is cached and can be accessed pretty fast. -
ifPresent
-
isPresent
public boolean isPresent() -
filter
Description copied from interface:Lazy
If a value is initialized, and the value matches the given predicate, return anOptional
describing the value, otherwise return an emptyOptional
. -
map
Description copied from interface:Lazy
If a value is initialized, apply the provided mapping function to it, and if the result is non-null, return anOptional
describing the result. Otherwise return an emptyOptional
.- Specified by:
map
in interfaceLazy<T>
- Type Parameters:
U
- The type of the result of the mapping function- Parameters:
mapper
- a mapping function to apply to the value, if initialized- Returns:
- an
Optional
describing the result of applying a mapping function to the value of thisOptional
, if a value is initialized, otherwise an emptyOptional
-
flatMap
Description copied from interface:Lazy
If a value is initialized, apply the providedOptional
-bearing mapping function to it, return that result, otherwise return an emptyOptional
. This method is similar toLazy.map(Function)
, but the provided mapper is one whose result is already anOptional
, and if invoked,flatMap
does not wrap it with an additionalOptional
.- Specified by:
flatMap
in interfaceLazy<T>
- Type Parameters:
U
- The type parameter to theOptional
returned by the mapping function- Parameters:
mapper
- a mapping function to apply to the value, if initialized- Returns:
- the result of applying an
Optional
-bearing mapping function to the value of thisOptional
, if a value is initialized, otherwise an emptyOptional
-
orElse
Description copied from interface:Lazy
Return the value if initialized, otherwise returnother
. -
orElseGet
Description copied from interface:Lazy
Return the value if initialized, otherwise invokeother
and return the result of that invocation. -
orElseThrow
Description copied from interface:Lazy
Return the contained value, if initialized, otherwise throw an exception to be created by the provided supplier.- Specified by:
orElseThrow
in interfaceLazy<T>
- Type Parameters:
X
- Type of the exception to be thrown- Parameters:
exceptionSupplier
- The supplier which will return the exception to be thrown- Returns:
- the initialized value
- Throws:
X
- if there is no value initialized
-