package mil.nga.giat.geowave.core.index.dimension.bin; /** * The Bin Range class is used to define the specific bins or ranges of a * particular Binning Strategy. * */ public class BinRange { private final byte[] binId; private final double normalizedMin; private final double normalizedMax; private final boolean fullExtent; /** * Constructor used to create a new BinRange object with a only a minimum * and maximum value. * * @param normalizedMin * the lower bounds of the bin * @param normalizedMax * the upper bounds of the bin */ public BinRange( final double normalizedMin, final double normalizedMax ) { this( null, normalizedMin, normalizedMax, false); } /** * Constructor used to create a new BinRange object. * * has a minimum and maximum value. * * @param binId * a unique ID associated with the bin * @param normalizedMin * the lower bounds of the bin * @param normalizedMax * the upper bounds of the bin * @param fullExtent * flag to indicate whether this is the full bin */ public BinRange( final byte[] binId, final double normalizedMin, final double normalizedMax, final boolean fullExtent ) { this.binId = binId; this.normalizedMin = normalizedMin; this.normalizedMax = normalizedMax; this.fullExtent = fullExtent; } /** * * @return a unique ID associate with this particular bin */ public byte[] getBinId() { return binId; } /** * * @return the lower bounds of this bin */ public double getNormalizedMin() { return normalizedMin; } /** * * @return the upper bounds of this bin */ public double getNormalizedMax() { return normalizedMax; } /** * * @return flag to indicate whether this is the entire bin extent */ public boolean isFullExtent() { return fullExtent; } }