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 a PrimitiveSink as an OutputStream, so it is easy to funnel an object to a PrimitiveSink if there is already a way to write the contents of the object to an OutputStream.
    static Funnel<byte[]> byteArrayFunnel()
    Returns a funnel that extracts the bytes from a byte 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 an Iterable 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 a CharSequence with the specified Charset.
    static Funnel<java.lang.CharSequence> unencodedCharsFunnel()
    Returns a funnel that extracts the characters from a CharSequence, a character at a time, without performing any encoding.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • byteArrayFunnel

      public static Funnel<byte[]> byteArrayFunnel()
      Returns a funnel that extracts the bytes from a byte array.
    • unencodedCharsFunnel

      public static Funnel<java.lang.CharSequence> unencodedCharsFunnel()
      Returns a funnel that extracts the characters from a CharSequence, a character at a time, without performing any encoding. If you need to use a specific encoding, use stringFunnel(Charset) instead.
      Since:
      15.0 (since 11.0 as Funnels.stringFunnel().
    • stringFunnel

      public static Funnel<java.lang.CharSequence> stringFunnel​(java.nio.charset.Charset charset)
      Returns a funnel that encodes the characters of a CharSequence with the specified Charset.
      Since:
      15.0
    • integerFunnel

      public static Funnel<java.lang.Integer> 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 an Iterable by funneling its elements in iteration order with the specified funnel. No separators are added between the elements.
      Since:
      15.0
    • longFunnel

      public static Funnel<java.lang.Long> longFunnel()
      Returns a funnel for longs.
      Since:
      13.0
    • asOutputStream

      public static java.io.OutputStream asOutputStream​(PrimitiveSink sink)
      Wraps a PrimitiveSink as an OutputStream, so it is easy to funnel an object to a PrimitiveSink if there is already a way to write the contents of the object to an OutputStream.

      The close and flush methods of the returned OutputStream do nothing, and no method throws IOException.

      Since:
      13.0
    • hashCodeFunnel

      public static Funnel<HashCode> hashCodeFunnel()
      Returns a funnel for hashcode.