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

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

Introduction

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

Prototype

PrimitiveSink putChar(char c);

Source Link

Document

Puts a character into this sink.

Usage

From source file:com.eucalyptus.network.NetworkInfoBroadcaster.java

private static int fingerprint(final NetworkInfoSource source,
        final List<com.eucalyptus.cluster.Cluster> clusters, final Set<String> dirtyPublicAddresses,
        final String networkConfiguration) {
    final HashFunction hashFunction = goodFastHash(32);
    final Hasher hasher = hashFunction.newHasher();
    final Funnel<VersionedNetworkView> versionedItemFunnel = new Funnel<VersionedNetworkView>() {
        @Override//  w  ww  .j  a  v  a 2s . c o m
        public void funnel(final VersionedNetworkView o, final PrimitiveSink primitiveSink) {
            primitiveSink.putString(o.getId());
            primitiveSink.putChar('=');
            primitiveSink.putInt(o.getVersion());
        }
    };
    for (final Map.Entry<String, Iterable<? extends VersionedNetworkView>> entry : source.getView()
            .entrySet()) {
        hasher.putString(entry.getKey());
        for (final VersionedNetworkView item : entry.getValue()) {
            hasher.putObject(item, versionedItemFunnel);
        }
    }
    hasher.putString(Joiner.on(',').join(Sets.newTreeSet(Iterables.transform(clusters, HasName.GET_NAME))));
    hasher.putString(Joiner.on(',').join(Sets.newTreeSet(dirtyPublicAddresses)));
    hasher.putInt(networkConfiguration.hashCode());
    return hasher.hash().asInt();
}

From source file:com.complexible.common.hash.ConcatenatedPrimitiveSink.java

/**
 * @inheritDoc/*w  ww .  j a  v a  2s  .c  o m*/
 */
@Override
public PrimitiveSink putChar(final char theChar) {
    for (PrimitiveSink aSink : this) {
        aSink.putChar(theChar);
    }
    return this;
}

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

@Override
public void funnel(Object data, PrimitiveSink sink) {
    sink.putByte(MARK);//from   w  ww.  jav  a  2  s .c  om
    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);//  w  w w  .  j  av  a 2s  . c om
        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);
    }
}