package com.pearson.entech.elasticsearch.search.facet.approx.datehistogram;
import java.io.IOException;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.bytes.HashedBytesArray;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.trove.ExtTLongObjectHashMap;
import org.elasticsearch.search.facet.Facet;
import org.elasticsearch.search.facet.InternalFacet;
/*
*
*/
public class StringInternalDistinctDateHistogramFacet extends InternalDistinctDateHistogramFacet {
private static final BytesReference STREAM_TYPE = new HashedBytesArray("DistinctDateHistogram".getBytes());
public static void registerStreams() {
InternalFacet.Streams.registerStream(STREAM, STREAM_TYPE);
}
StringInternalDistinctDateHistogramFacet(final String name) {
super(name);
}
public StringInternalDistinctDateHistogramFacet(final String name,
final ComparatorType comparatorType,
final ExtTLongObjectHashMap<DistinctCountPayload> counts,
final boolean cachedCounts) {
super(name);
this.comparatorType = comparatorType;
this.counts = counts;
this.cachedCounts = cachedCounts;
}
@Override
protected InternalDistinctDateHistogramFacet newFacet() {
return new StringInternalDistinctDateHistogramFacet(getName());
}
static Stream STREAM = new Stream() {
@Override
public Facet readFacet(final StreamInput in) throws IOException {
return readHistogramFacet(in);
}
};
@Override
public BytesReference streamType() {
return STREAM_TYPE;
}
public StringInternalDistinctDateHistogramFacet() {
super();
}
public static StringInternalDistinctDateHistogramFacet readHistogramFacet(final StreamInput in) throws IOException {
final StringInternalDistinctDateHistogramFacet facet = new StringInternalDistinctDateHistogramFacet();
facet.readFrom(in);
return facet;
}
}