Package com.exonum.binding.common.hash
Class Funnels
java.lang.Object
com.exonum.binding.common.hash.Funnels
public final class Funnels
extends java.lang.Object
Funnels for common types. All implementations are serializable.
- Since:
- 11.0
- Author:
- Dimitris Andreou
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Funnels.HashCodeFunnel
HashCode funnel. -
Method Summary
Modifier and Type Method Description static java.io.OutputStream
asOutputStream(PrimitiveSink sink)
Wraps aPrimitiveSink
as anOutputStream
, so it is easy tofunnel
an object to aPrimitiveSink
if there is already a way to write the contents of the object to anOutputStream
.static Funnel<byte[]>
byteArrayFunnel()
Returns a funnel that extracts the bytes from abyte
array.static Funnel<HashCode>
hashCodeFunnel()
Returns a funnel for hashcode.static Funnel<java.lang.Integer>
integerFunnel()
Returns a funnel for integers.static Funnel<java.lang.Long>
longFunnel()
Returns a funnel for longs.static <E> Funnel<java.lang.Iterable<? extends E>>
sequentialFunnel(Funnel<E> elementFunnel)
Returns a funnel that processes anIterable
by funneling its elements in iteration order with the specified funnel.static Funnel<java.lang.CharSequence>
stringFunnel(java.nio.charset.Charset charset)
Returns a funnel that encodes the characters of aCharSequence
with the specifiedCharset
.static Funnel<java.lang.CharSequence>
unencodedCharsFunnel()
Returns a funnel that extracts the characters from aCharSequence
, a character at a time, without performing any encoding.
-
Method Details
-
byteArrayFunnel
Returns a funnel that extracts the bytes from abyte
array. -
unencodedCharsFunnel
Returns a funnel that extracts the characters from aCharSequence
, a character at a time, without performing any encoding. If you need to use a specific encoding, usestringFunnel(Charset)
instead.- Since:
- 15.0 (since 11.0 as
Funnels.stringFunnel()
.
-
stringFunnel
Returns a funnel that encodes the characters of aCharSequence
with the specifiedCharset
.- Since:
- 15.0
-
integerFunnel
Returns a funnel for integers.- Since:
- 13.0
-
sequentialFunnel
public static <E> Funnel<java.lang.Iterable<? extends E>> sequentialFunnel(Funnel<E> elementFunnel)Returns a funnel that processes anIterable
by funneling its elements in iteration order with the specified funnel. No separators are added between the elements.- Since:
- 15.0
-
longFunnel
Returns a funnel for longs.- Since:
- 13.0
-
asOutputStream
Wraps aPrimitiveSink
as anOutputStream
, so it is easy tofunnel
an object to aPrimitiveSink
if there is already a way to write the contents of the object to anOutputStream
.The
close
andflush
methods of the returnedOutputStream
do nothing, and no method throwsIOException
.- Since:
- 13.0
-
hashCodeFunnel
Returns a funnel for hashcode.
-