@Beta public interface Funnel<T> extends Serializable
T into a
PrimitiveSink. Implementations for common types can be found in
Funnels.
Note that serialization of bloom filters requires the proper serialization of funnels. When possible, it is recommended that funnels be implemented as a single-element enum to maintain serialization guarantees. See Effective Java (2nd Edition), Item 3: "Enforce the singleton property with a private constructor or an enum type". For example:
public enum PersonFunnel implements Funnel<Person> { INSTANCE; public void funnel(Person person, PrimitiveSink into) { into.putUnencodedChars(person.getFirstName()) .putUnencodedChars(person.getLastName()) .putInt(person.getAge()); } }
| Modifier and Type | Method and Description |
|---|---|
void |
funnel(T from, PrimitiveSink
Sends a stream of data from the
from object into the sink
into.
|
void funnel(T from, PrimitiveSinkinto)
from object into the sink
into. There is no requirement that this data be complete enough to fully reconstitute the object later.
PrimitiveSink was named
Sink)