/**
*
*/
package com.taobao.top.analysis.statistics.data;
import java.io.UnsupportedEncodingException;
import java.util.concurrent.atomic.AtomicLong;
import com.taobao.top.analysis.util.bloom.ByteBloomFilter;
/**
* @author fangweng
* @email fangweng@taobao.com
* @date 2011-3-16
*
*/
public class DistinctCountEntryValue {
private AtomicLong count = new AtomicLong(0);
private ByteBloomFilter bloomFilter;
public AtomicLong getCount() {
return count;
}
public void setCount(AtomicLong count) {
this.count = count;
}
public ByteBloomFilter getBloomFilter() {
return bloomFilter;
}
public void setBloomFilter(ByteBloomFilter bloomFilter) {
this.bloomFilter = bloomFilter;
}
public void add(String key) throws UnsupportedEncodingException
{
if (key == null || "".equals(key))
return;
byte[] k = key.getBytes("UTF-8");
if (!bloomFilter.contains(k))
{
bloomFilter.add(k);
count.incrementAndGet();
}
}
public void add(byte[] key) throws UnsupportedEncodingException
{
if (key == null)
return;
if (!bloomFilter.contains(key))
{
bloomFilter.add(key);
count.incrementAndGet();
}
}
}