- java.lang.Object
-
- com.io7m.jranges.RangeHalfOpenI
-
- All Implemented Interfaces:
RangeHalfOpenIType
public final class RangeHalfOpenI extends java.lang.Object implements RangeHalfOpenIType
A half open (inclusive lower, exclusive upper) range withintcomponents.- Since:
- 4.0.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRangeHalfOpenI.BuilderBuilds instances of typeRangeHalfOpenI.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RangeHalfOpenI.Builderbuilder()Creates a builder forRangeHalfOpenI.static RangeHalfOpenIcopyOf(RangeHalfOpenIType instance)Creates an immutable copy of aRangeHalfOpenITypevalue.booleanequals(java.lang.Object another)This instance is equal to all instances ofRangeHalfOpenIthat have equal attribute values.inthashCode()Computes a hash code from attributes:lower,upper.intlower()static RangeHalfOpenIof(int lower, int upper)Construct a new immutableRangeHalfOpenIinstance.java.lang.StringtoString()Prints the immutable valueRangeHalfOpenIwith attribute values.intupper()RangeHalfOpenIwithLower(int value)Copy the current immutable object by setting a value for thelowerattribute.RangeHalfOpenIwithUpper(int value)Copy the current immutable object by setting a value for theupperattribute.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.io7m.jranges.RangeHalfOpenIType
checkPreconditions, includesValue, interval, isIncludedIn, isIncludedIn
-
-
-
-
Method Detail
-
lower
public int lower()
- Specified by:
lowerin interfaceRangeHalfOpenIType- Returns:
- The lower bound of the inclusive range.
-
upper
public int upper()
- Specified by:
upperin interfaceRangeHalfOpenIType- Returns:
- The upper bound of the inclusive range.
-
withLower
public final RangeHalfOpenI withLower(int value)
Copy the current immutable object by setting a value for thelowerattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for lower- Returns:
- A modified copy of the
thisobject
-
withUpper
public final RangeHalfOpenI withUpper(int value)
Copy the current immutable object by setting a value for theupperattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for upper- Returns:
- A modified copy of the
thisobject
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofRangeHalfOpenIthat have equal attribute values.- Overrides:
equalsin classjava.lang.Object- Returns:
trueifthisis equal toanotherinstance
-
hashCode
public int hashCode()
Computes a hash code from attributes:lower,upper.- Overrides:
hashCodein classjava.lang.Object- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueRangeHalfOpenIwith attribute values.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string representation of the value
-
of
public static RangeHalfOpenI of(int lower, int upper)
Construct a new immutableRangeHalfOpenIinstance.- Parameters:
lower- The value for thelowerattributeupper- The value for theupperattribute- Returns:
- An immutable RangeHalfOpenI instance
-
copyOf
public static RangeHalfOpenI copyOf(RangeHalfOpenIType instance)
Creates an immutable copy of aRangeHalfOpenITypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable RangeHalfOpenI instance
-
builder
public static RangeHalfOpenI.Builder builder()
Creates a builder forRangeHalfOpenI.RangeHalfOpenI.builder() .setLower(int) // requiredlower.setUpper(int) // requiredupper.build();- Returns:
- A new RangeHalfOpenI builder
-
-