package com.pearson.entech.elasticsearch.search.facet.approx.date.external;
import org.elasticsearch.common.joda.TimeZoneRounding.Builder;
import org.elasticsearch.common.joda.time.DateTimeField;
import org.elasticsearch.common.joda.time.DateTimeZone;
import org.elasticsearch.common.unit.TimeValue;
public class TimeZoneRoundingBuilder extends org.elasticsearch.common.joda.TimeZoneRounding.Builder {
private DateTimeField field;
private final long interval = -1;
private final DateTimeZone preTz = DateTimeZone.UTC;
private final DateTimeZone postTz = DateTimeZone.UTC;
private final float factor = 1.0f;
private long preOffset;
private long postOffset;
StringBuilder _descriptor;
private final boolean preZoneAdjustLargeInterval = false;
public TimeZoneRoundingBuilder(final DateTimeField field) {
super(field);
_descriptor = new StringBuilder("TimeZoneRounding ")
.append(field);
}
public TimeZoneRoundingBuilder(final TimeValue interval) {
super(interval);
_descriptor = new StringBuilder("TimeZoneRounding ")
.append("TimeValue[" + interval + "] ");
}
@Override
public Builder preZone(final DateTimeZone preTz) {
_descriptor.append(" preZone[")
.append(preTz)
.append("]");
return super.preZone(preTz);
}
@Override
public Builder postZone(final DateTimeZone postTz) {
_descriptor.append(" postZone[")
.append(postTz)
.append("]");
return super.postZone(postTz);
}
@Override
public Builder preOffset(final long preOffset) {
_descriptor.append(" preOffset[")
.append(preOffset)
.append("]");
return super.preOffset(preOffset);
}
@Override
public Builder postOffset(final long postOffset) {
_descriptor.append(" postOffset[")
.append(postOffset)
.append("]");
return super.postOffset(postOffset);
}
@Override
public Builder factor(final float factor) {
_descriptor.append(" factor[")
.append(factor)
.append("]");
return super.factor(factor);
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public boolean equals(final Object obj) {
return super.equals(obj);
}
@Override
protected void finalize() throws Throwable {
super.finalize();
}
@Override
public int hashCode() {
return super.hashCode();
}
@Override
public String toString() {
return _descriptor.toString();
}
}