Example usage for com.google.common.hash PrimitiveSink putString

List of usage examples for com.google.common.hash PrimitiveSink putString

Introduction

In this page you can find the example usage for com.google.common.hash PrimitiveSink putString.

Prototype

PrimitiveSink putString(CharSequence charSequence, Charset charset);

Source Link

Document

Puts a string into this sink using the given charset.

Usage

From source file:ys.probabilistic.util.MurmurHashers.java

/**
 * Returns a hasher for string values./*from  ww w.j av a  2s . co  m*/
 */
public static Hasher<String> stringHasher() {
    return new AbstractMurmurHasher<String>() {
        @Override
        protected void put(String value, PrimitiveSink sink) {
            sink.putString(value, StandardCharsets.UTF_8);
        }
    };
}

From source file:org.apache.marmotta.commons.sesame.hashing.URIFunnel.java

@Override
public void funnel(URI uri, PrimitiveSink primitiveSink) {
    primitiveSink.putString(uri.stringValue(), Charset.defaultCharset());
}

From source file:fr.tse.fi2.hpp.labs.queries.impl.lab5.BloomGuava.java

public BloomGuava(QueryProcessorMeasure measure) {
    super(measure);
    // TODO Auto-generated constructor stub

    Funnel<DebsRecord> recordFunnel = new Funnel<DebsRecord>() {
        @Override/*from ww  w.  j a va 2 s.c om*/
        public void funnel(DebsRecord record, PrimitiveSink into) {
            into.putString(record.getHack_license(), Charsets.UTF_8).putFloat(record.getPickup_longitude())
                    .putFloat(record.getPickup_latitude()).putFloat(record.getDropoff_longitude())
                    .putFloat(record.getDropoff_latitude());
        }
    };

    //BloomFilter<DebsRecord> filtre = new BloomFilter.create(recordFunnel,1000,0.01);

}

From source file:io.github.maxymania.powercache.hash.AnyFunnel.java

private void putObject(Object data, PrimitiveSink sink, int dept) {
    for (Field fld : data.getClass().getFields()) {
        if (Modifier.isStatic(fld.getModifiers())) {
            continue;
        }//from   w w w. ja va2s .c  om
        sink.putString(fld.getName(), Util.UTF);
        try {
            Object obj = fld.get(data);
            funnel(obj, sink, dept + 1);
        } catch (IllegalArgumentException e) {
        } catch (IllegalAccessException e) {
        }
    }
}

From source file:iox.easycache.internal.AnyFunnel.java

private void putObject(Object data, PrimitiveSink sink) {
    if (!(data instanceof Acyclic)) {
        sink.putByte(ONE);/*from  w  ww.j  av a2s  .co m*/
        return;
    }
    for (Field fld : data.getClass().getFields()) {
        if (Modifier.isStatic(fld.getModifiers()))
            continue;
        sink.putString(fld.getName(), Util.UTF);
        try {
            Object obj = fld.get(data);
            funnel(obj, sink);
        } catch (IllegalArgumentException e) {
        } catch (IllegalAccessException e) {
        }
    }
}

From source file:iox.easycache.internal.AnyFunnel.java

@Override
public void funnel(Object data, PrimitiveSink sink) {
    sink.putByte(MARK);//from  w  w w  .  j  a  v a2s.com
    if (data == null)
        sink.putByte(NUL);
    else if (data instanceof byte[])
        sink.putBytes((byte[]) data);
    else if (data instanceof char[])
        sink.putString(new CharArray((char[]) data), Util.UTF);
    else if (data instanceof String)
        sink.putString((String) data, Util.UTF);
    else if (data instanceof boolean[]) {
        for (boolean e : (boolean[]) data)
            sink.putBoolean(e);
    } else if (data instanceof short[]) {
        for (short e : (short[]) data)
            sink.putShort(e);
    } else if (data instanceof int[]) {
        for (int e : (int[]) data)
            sink.putInt(e);
    } else if (data instanceof long[]) {
        for (long e : (long[]) data)
            sink.putLong(e);
    } else if (data instanceof float[]) {
        for (float e : (float[]) data)
            sink.putFloat(e);
    } else if (data instanceof double[]) {
        for (double e : (double[]) data)
            sink.putDouble(e);
    } else if (data instanceof Object[]) {
        for (Object e : (Object[]) data)
            funnel(e, sink);
    } else if (data instanceof Boolean)
        sink.putBoolean((Boolean) data);
    else if (data instanceof Byte)
        sink.putByte((Byte) data);
    else if (data instanceof Character)
        sink.putChar((Character) data);
    else if (data instanceof Short)
        sink.putShort((Short) data);
    else if (data instanceof Integer)
        sink.putInt((Integer) data);
    else if (data instanceof Long)
        sink.putLong((Long) data);
    else if (data instanceof Float)
        sink.putFloat((Float) data);
    else if (data instanceof Double)
        sink.putDouble((Double) data);
    else {
        putObject(data, sink);
    }
}

From source file:io.github.maxymania.powercache.hash.AnyFunnel.java

private void funnel(Object data, PrimitiveSink sink, int dept) {
    if (dept > 80) {
        sink.putByte(ONE);/*from www. j  a  va 2s  .  co  m*/
        return;
    }
    sink.putByte(MARK);
    if (data == null) {
        sink.putByte(NUL);
    } else if (data instanceof byte[]) {
        sink.putBytes((byte[]) data);
    } else if (data instanceof char[]) {
        sink.putString(new CharArray((char[]) data), Util.UTF);
    } else if (data instanceof String) {
        sink.putString((String) data, Util.UTF);
    } else if (data instanceof boolean[]) {
        for (boolean e : (boolean[]) data) {
            sink.putBoolean(e);
        }
    } else if (data instanceof short[]) {
        for (short e : (short[]) data) {
            sink.putShort(e);
        }
    } else if (data instanceof int[]) {
        for (int e : (int[]) data) {
            sink.putInt(e);
        }
    } else if (data instanceof long[]) {
        for (long e : (long[]) data) {
            sink.putLong(e);
        }
    } else if (data instanceof float[]) {
        for (float e : (float[]) data) {
            sink.putFloat(e);
        }
    } else if (data instanceof double[]) {
        for (double e : (double[]) data) {
            sink.putDouble(e);
        }
    } else if (data instanceof Object[]) {
        for (Object e : (Object[]) data) {
            funnel(e, sink);
        }
    } else if (data instanceof Boolean) {
        sink.putBoolean((Boolean) data);
    } else if (data instanceof Byte) {
        sink.putByte((Byte) data);
    } else if (data instanceof Character) {
        sink.putChar((Character) data);
    } else if (data instanceof Short) {
        sink.putShort((Short) data);
    } else if (data instanceof Integer) {
        sink.putInt((Integer) data);
    } else if (data instanceof Long) {
        sink.putLong((Long) data);
    } else if (data instanceof Float) {
        sink.putFloat((Float) data);
    } else if (data instanceof Double) {
        sink.putDouble((Double) data);
    } else {
        putObject(data, sink, dept);
    }
}