/** * <p>Gets the minimum number in this range as a <code>double</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public double getMinimumDouble() { return getMinimumNumber().doubleValue(); }
/** * <p>Gets the minimum number in this range as a <code>long</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public long getMinimumLong() { return getMinimumNumber().longValue(); }
/** * <p>Gets the minimum number in this range as a <code>int</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public int getMinimumInteger() { return getMinimumNumber().intValue(); }
/** * <p>Gets the minimum number in this range as a <code>float</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public float getMinimumFloat() { return getMinimumNumber().floatValue(); }
/** * <p>Gets a hashCode for the range.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} and * {@link #getMaximumNumber()} methods. * Subclasses may be able to optimise this.</p> * * @return a hash code value for this object */ public int hashCode() { int result = 17; result = 37 * result + getClass().hashCode(); result = 37 * result + getMinimumNumber().hashCode(); result = 37 * result + getMaximumNumber().hashCode(); return result; }
/** * <p>Compares this range to another object to test if they are equal.</p>. * * <p>To be equal, the class, minimum and maximum must be equal.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} and * {@link #getMaximumNumber()} methods. * Subclasses may be able to optimise this.</p> * * @param obj the reference object with which to compare * @return <code>true</code> if this object is equal */ public boolean equals(Object obj) { if (obj == this) { return true; } else if (obj == null || obj.getClass() != getClass()) { return false; } else { Range range = (Range) obj; return getMinimumNumber().equals(range.getMinimumNumber()) && getMaximumNumber().equals(range.getMaximumNumber()); } }
/** * <p>Tests whether the specified range overlaps with this range.</p> * * <p>The exact comparison implementation varies by subclass. It is * intended that an <code>int</code> specific subclass will compare using * <code>int</code> comparison.</p> * * <p><code>null</code> is handled and returns <code>false</code>.</p> * * <p>This implementation uses the {@link #containsNumber(Number)} and * {@link #containsRange(Range)} methods. * Subclasses may be able to optimise this.</p> * * @param range the range to test, may be <code>null</code> * @return <code>true</code> if the specified range overlaps with this * range; otherwise, <code>false</code> * @throws IllegalArgumentException if the <code>Range</code> cannot be compared */ public boolean overlapsRange(Range range) { if (range == null) { return false; } return range.containsNumber(getMinimumNumber()) || range.containsNumber(getMaximumNumber()) || containsNumber(range.getMinimumNumber()); }
/** * <p>Tests whether the specified range occurs entirely within this range.</p> * * <p>The exact comparison implementation varies by subclass. It is * intended that an <code>int</code> specific subclass will compare using * <code>int</code> comparison.</p> * * <p><code>null</code> is handled and returns <code>false</code>.</p> * * <p>This implementation uses the {@link #containsNumber(Number)} method. * Subclasses may be able to optimise this.</p> * * @param range the range to test, may be <code>null</code> * @return <code>true</code> if the specified range occurs entirely within * this range; otherwise, <code>false</code> * @throws IllegalArgumentException if the <code>Range</code> cannot be compared */ public boolean containsRange(Range range) { if (range == null) { return false; } return containsNumber(range.getMinimumNumber()) && containsNumber(range.getMaximumNumber()); }
/** * <p>Gets the range as a <code>String</code>.</p> * * <p>The format of the String is 'Range[<i>min</i>,<i>max</i>]'.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} and * {@link #getMaximumNumber()} methods. * Subclasses may be able to optimise this.</p> * * @return the <code>String</code> representation of this range */ public String toString() { StrBuilder buf = new StrBuilder(32); buf.append("Range["); buf.append(getMinimumNumber()); buf.append(','); buf.append(getMaximumNumber()); buf.append(']'); return buf.toString(); }
/** * <p>Gets the minimum number in this range as a <code>double</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public double getMinimumDouble() { return getMinimumNumber().doubleValue(); }
/** * <p>Gets the minimum number in this range as a <code>long</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public long getMinimumLong() { return getMinimumNumber().longValue(); }
/** * <p>Gets the minimum number in this range as a <code>float</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public float getMinimumFloat() { return getMinimumNumber().floatValue(); }
/** * <p>Gets the minimum number in this range as a <code>double</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public double getMinimumDouble() { return getMinimumNumber().doubleValue(); }
/** * <p>Gets the minimum number in this range as a <code>long</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public long getMinimumLong() { return getMinimumNumber().longValue(); }
/** * <p>Gets the minimum number in this range as a <code>int</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public int getMinimumInteger() { return getMinimumNumber().intValue(); }
/** * <p>Gets the minimum number in this range as a <code>float</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public float getMinimumFloat() { return getMinimumNumber().floatValue(); }
/** * <p>Gets the minimum number in this range as a <code>long</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public long getMinimumLong() { return getMinimumNumber().longValue(); }
/** * <p>Gets the minimum number in this range as a <code>int</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public int getMinimumInteger() { return getMinimumNumber().intValue(); }
/** * <p>Gets the minimum number in this range as a <code>float</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public float getMinimumFloat() { return getMinimumNumber().floatValue(); }
/** * <p>Gets the minimum number in this range as a <code>long</code>.</p> * * <p>This implementation uses the {@link #getMinimumNumber()} method. * Subclasses may be able to optimise this.</p> * * @return the minimum number in this range */ public long getMinimumLong() { return getMinimumNumber().longValue(); }