public interface Funnel<T>
extends java.io.Serializable
T into a PrimitiveSink.
Implementations for common types can be found in Funnels.
Note that serialization of com.google.common.hash.BloomFilter 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 into)
Sends a stream of data from the
from object into the sink into. |
void funnel(T from, PrimitiveSink into)
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)