Class LongRange

java.lang.Object
org.apache.commons.lang.math.Range
org.apache.commons.lang.math.LongRange
All Implemented Interfaces:
Serializable

public final class LongRange extends Range implements Serializable

LongRange represents an inclusive range of longs.

Since:
2.0
Version:
$Id: LongRange.java 1057072 2011-01-10 01:55:57Z niallp $
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Cached output hashCode (class is immutable).
    private final long
    The maximum number in this range (inclusive).
    private Long
    Cached output maxObject (class is immutable).
    private final long
    The minimum number in this range (inclusive).
    private Long
    Cached output minObject (class is immutable).
    private static final long
    Required for serialization support.
    private String
    Cached output toString (class is immutable).
  • Constructor Summary

    Constructors
    Constructor
    Description
    LongRange(long number)
    Constructs a new LongRange using the specified number as both the minimum and maximum in this range.
    LongRange(long number1, long number2)
    Constructs a new LongRange with the specified minimum and maximum numbers (both inclusive).
    LongRange(Number number)
    Constructs a new LongRange using the specified number as both the minimum and maximum in this range.
    LongRange(Number number1, Number number2)
    Constructs a new LongRange with the specified minimum and maximum numbers (both inclusive).
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    containsLong(long value)
    Tests whether the specified long occurs within this range using long comparison.
    boolean
    Tests whether the specified number occurs within this range using long comparison.
    boolean
    Tests whether the specified range occurs entirely within this range using long comparison.
    boolean
    Compares this range to another object to test if they are equal.
    double
    Gets the maximum number in this range as a double.
    float
    Gets the maximum number in this range as a float.
    int
    Gets the maximum number in this range cast to an int.
    long
    Gets the maximum number in this range as a long.
    Returns the maximum number in this range.
    double
    Gets the minimum number in this range as a double.
    float
    Gets the minimum number in this range as a float.
    int
    Gets the minimum number in this range as a int.
    long
    Gets the minimum number in this range as a long.
    Returns the minimum number in this range.
    int
    Gets a hashCode for the range.
    boolean
    Tests whether the specified range overlaps with this range using long comparison.
    long[]
    Returns an array containing all the long values in the range.
    Gets the range as a String.

    Methods inherited from class org.apache.commons.lang.math.Range

    containsDouble, containsDouble, containsFloat, containsFloat, containsInteger, containsInteger, containsLong

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Required for serialization support.
      See Also:
    • min

      private final long min
      The minimum number in this range (inclusive).
    • max

      private final long max
      The maximum number in this range (inclusive).
    • minObject

      private transient Long minObject
      Cached output minObject (class is immutable).
    • maxObject

      private transient Long maxObject
      Cached output maxObject (class is immutable).
    • hashCode

      private transient int hashCode
      Cached output hashCode (class is immutable).
    • toString

      private transient String toString
      Cached output toString (class is immutable).
  • Constructor Details

    • LongRange

      public LongRange(long number)

      Constructs a new LongRange using the specified number as both the minimum and maximum in this range.

      Parameters:
      number - the number to use for this range
    • LongRange

      public LongRange(Number number)

      Constructs a new LongRange using the specified number as both the minimum and maximum in this range.

      Parameters:
      number - the number to use for this range, must not be null
      Throws:
      IllegalArgumentException - if the number is null
    • LongRange

      public LongRange(long number1, long number2)

      Constructs a new LongRange with the specified minimum and maximum numbers (both inclusive).

      The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

      Parameters:
      number1 - first number that defines the edge of the range, inclusive
      number2 - second number that defines the edge of the range, inclusive
    • LongRange

      public LongRange(Number number1, Number number2)

      Constructs a new LongRange with the specified minimum and maximum numbers (both inclusive).

      The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

      Parameters:
      number1 - first number that defines the edge of the range, inclusive
      number2 - second number that defines the edge of the range, inclusive
      Throws:
      IllegalArgumentException - if either number is null
  • Method Details

    • getMinimumNumber

      public Number getMinimumNumber()

      Returns the minimum number in this range.

      Specified by:
      getMinimumNumber in class Range
      Returns:
      the minimum number in this range
    • getMinimumLong

      public long getMinimumLong()

      Gets the minimum number in this range as a long.

      Overrides:
      getMinimumLong in class Range
      Returns:
      the minimum number in this range
    • getMinimumInteger

      public int getMinimumInteger()

      Gets the minimum number in this range as a int.

      This conversion can lose information for large values.

      Overrides:
      getMinimumInteger in class Range
      Returns:
      the minimum number in this range
    • getMinimumDouble

      public double getMinimumDouble()

      Gets the minimum number in this range as a double.

      This conversion can lose information for large values.

      Overrides:
      getMinimumDouble in class Range
      Returns:
      the minimum number in this range
    • getMinimumFloat

      public float getMinimumFloat()

      Gets the minimum number in this range as a float.

      This conversion can lose information for large values.

      Overrides:
      getMinimumFloat in class Range
      Returns:
      the minimum number in this range
    • getMaximumNumber

      public Number getMaximumNumber()

      Returns the maximum number in this range.

      Specified by:
      getMaximumNumber in class Range
      Returns:
      the maximum number in this range
    • getMaximumLong

      public long getMaximumLong()

      Gets the maximum number in this range as a long.

      Overrides:
      getMaximumLong in class Range
      Returns:
      the maximum number in this range
    • getMaximumInteger

      public int getMaximumInteger()

      Gets the maximum number in this range cast to an int.

      This conversion can lose information for large values.

      Overrides:
      getMaximumInteger in class Range
      Returns:
      the maximum number in this range cast to an int.
    • getMaximumDouble

      public double getMaximumDouble()

      Gets the maximum number in this range as a double.

      This conversion can lose information for large values.

      Overrides:
      getMaximumDouble in class Range
      Returns:
      The maximum number in this range as a double.
    • getMaximumFloat

      public float getMaximumFloat()

      Gets the maximum number in this range as a float.

      This conversion can lose information for large values.

      Overrides:
      getMaximumFloat in class Range
      Returns:
      The maximum number in this range as a float.
    • containsNumber

      public boolean containsNumber(Number number)

      Tests whether the specified number occurs within this range using long comparison.

      null is handled and returns false.

      Specified by:
      containsNumber in class Range
      Parameters:
      number - the number to test, may be null
      Returns:
      true if the specified number occurs within this range
    • containsLong

      public boolean containsLong(long value)

      Tests whether the specified long occurs within this range using long comparison.

      This implementation overrides the superclass for performance as it is the most common case.

      Overrides:
      containsLong in class Range
      Parameters:
      value - the long to test
      Returns:
      true if the specified number occurs within this range by long comparison
    • containsRange

      public boolean containsRange(Range range)

      Tests whether the specified range occurs entirely within this range using long comparison.

      null is handled and returns false.

      Overrides:
      containsRange in class Range
      Parameters:
      range - the range to test, may be null
      Returns:
      true if the specified range occurs entirely within this range
      Throws:
      IllegalArgumentException - if the range is not of this type
    • overlapsRange

      public boolean overlapsRange(Range range)

      Tests whether the specified range overlaps with this range using long comparison.

      null is handled and returns false.

      Overrides:
      overlapsRange in class Range
      Parameters:
      range - the range to test, may be null
      Returns:
      true if the specified range overlaps with this range
    • equals

      public boolean equals(Object obj)

      Compares this range to another object to test if they are equal.

      .

      To be equal, the class, minimum and maximum must be equal.

      Overrides:
      equals in class Range
      Parameters:
      obj - the reference object with which to compare
      Returns:
      true if this object is equal
    • hashCode

      public int hashCode()

      Gets a hashCode for the range.

      Overrides:
      hashCode in class Range
      Returns:
      a hash code value for this object
    • toString

      public String toString()

      Gets the range as a String.

      The format of the String is 'Range[min,max]'.

      Overrides:
      toString in class Range
      Returns:
      the String representation of this range
    • toArray

      public long[] toArray()

      Returns an array containing all the long values in the range.

      Returns:
      the long[] representation of this range
      Since:
      2.4