public final class TransformerUtil extends Object
Transformer
-related utility methods.Modifier and Type | Method and Description |
---|---|
static <I,O,EX extends Throwable> |
addMappings(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate,
Object... keysAndValues) |
static <I,O,EX extends RuntimeException> |
asTransformer(TransformerWhichThrows<? super I,? extends O,EX> source)
Converts a
TransformerWhichThrows into a Transformer . |
static <I,O,EX extends Throwable> |
asTransformerWhichThrows(TransformerWhichThrows<? super I,? extends O,? extends RuntimeException> source)
Converts a TransformerWhichThrows {@code
|
static <I,O,EX extends Throwable> |
cache(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate)
A transformer which lets a delegate transform the inputs, but at most once for each non-equal
input.
|
static <I,O,EX extends Throwable> |
cache(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate,
Map<I,O> cache)
A transformer which lets a delegate transform the inputs, and remembers the result in the
cache map.
|
static <T,EX extends Throwable> |
chain(TransformerWhichThrows<? super T,? extends T,? extends EX>... transformers) |
static <I,O,EX extends Throwable> |
combine(I extraInput,
O extraOutput,
TransformerWhichThrows<? super I,? extends O,EX> delegate) |
static <I,O> Transformer<I,O> |
fromMappings(Object... keysAndValues) |
static <O,I extends O,EX extends Throwable> |
identity() |
static <I,O,EX extends Throwable> |
ignoreExceptions(Class<EX> exceptionClass,
TransformerWhichThrows<I,O,EX> delegate,
O defaultValue)
Wraps the delegate such that its declared exception is caught, ignored, and the
defaultValue is returned.
|
public static <O,I extends O,EX extends Throwable> TransformerWhichThrows<I,O,EX> identity()
Transformer
that transforms any object reference to itself.public static <T,EX extends Throwable> TransformerWhichThrows<? super T,? extends T,? extends EX> chain(TransformerWhichThrows<? super T,? extends T,? extends EX>... transformers)
public static <I,O,EX extends Throwable> TransformerWhichThrows<I,O,EX> asTransformerWhichThrows(TransformerWhichThrows<? super I,? extends O,? extends RuntimeException> source)
TransformerWhichThrows
<I, O, ? extends RuntimeException>
into a TransformerWhichThrows
<I, O, EX>
.
That is possible iff:
I
- The transformers' input typeO
- The transformers' output typeEX
- The target transformer's exceptionpublic static <I,O,EX extends RuntimeException> Transformer<I,O> asTransformer(TransformerWhichThrows<? super I,? extends O,EX> source)
TransformerWhichThrows
into a Transformer
.
That is possible iff:
RuntimeException
.
I
- The transformers' input typeO
- The transformers' output typeEX
- The source transformer's exceptionpublic static <I,O,EX extends Throwable> TransformerWhichThrows<I,O,EX> combine(I extraInput, O extraOutput, TransformerWhichThrows<? super I,? extends O,EX> delegate)
TransformerWhichThrows
which calls the delegate, except when the subject
equals the extraInput, when it returns extraOutputpublic static <I,O,EX extends Throwable> TransformerWhichThrows<I,O,EX> addMappings(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate, Object... keysAndValues)
TransformerWhichThrows
in which the given keys and values override the mappings of the
delegatepublic static <I,O> Transformer<I,O> fromMappings(Object... keysAndValues)
Transformer
in which the given keys and values override the mappings of the delegate.public static <I,O,EX extends Throwable> TransformerWhichThrows<I,O,EX> cache(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate)
This method is not thread-safe. To get a thread-safe cache, use cache(TransformerWhichThrows, Map)
.
public static <I,O,EX extends Throwable> TransformerWhichThrows<I,O,EX> cache(TransformerWhichThrows<? super I,? extends O,? extends EX> delegate, Map<I,O> cache)
This method is not thread-safe. To make it thread-safe, pass a Collections.synchronizedMap(Map)
as
the cache argument.
cache
- Typically a HashMap
, or a TreeMap.TreeMap(java.util.Comparator)
, or a
WeakHashMap
, or a Collections.synchronizedMap(Map)
(for thread-safety)public static <I,O,EX extends Throwable> Transformer<I,O> ignoreExceptions(Class<EX> exceptionClass, TransformerWhichThrows<I,O,EX> delegate, O defaultValue)
Copyright © 2018 Arno Unkrig. All rights reserved.