package mil.nga.giat.geowave.core.geotime.index.dimension;
import mil.nga.giat.geowave.core.geotime.index.dimension.TemporalBinningStrategy.Unit;
import mil.nga.giat.geowave.core.index.dimension.UnboundedDimensionDefinition;
import mil.nga.giat.geowave.core.index.dimension.bin.BinningStrategy;
import mil.nga.giat.geowave.core.index.sfc.data.NumericData;
import mil.nga.giat.geowave.core.index.sfc.data.NumericRange;
/**
* The Time Definition class is a convenience class used to define a dimension
* which is associated with a time dimension.
*
*/
public class TimeDefinition extends
UnboundedDimensionDefinition
{
protected TimeDefinition() {
super();
}
/**
* Constructor used to create a new Unbounded Binning Strategy based upon a
* temporal binning strategy of the unit parameter. The unit can be of DAY,
* MONTH, or YEAR.
*
* @param unit
* an enumeration of temporal units (DAY, MONTH, or YEAR)
*/
public TimeDefinition(
final Unit unit ) {
super(
new TemporalBinningStrategy(
unit));
}
/**
* Constructor used to create a new Unbounded Binning Strategy based upon a
* generic binning strategy.
*
* @param binningStrategy
* a object which defines the bins
*/
public TimeDefinition(
final BinningStrategy binningStrategy ) {
super(
binningStrategy);
}
@Override
public NumericData getFullRange() {
return new NumericRange(
0,
System.currentTimeMillis() + 1);
}
}