Skip to content

Commit

Permalink
PLANNER-549 TemporalValueRange peer review: add to ValueRangeFactory …
Browse files Browse the repository at this point in the history
…+ add to docs
  • Loading branch information
ge0ffrey committed Apr 11, 2016
1 parent 1b3320a commit bb3626f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
Expand Up @@ -18,13 +18,18 @@

import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalUnit;

import org.optaplanner.core.impl.domain.valuerange.buildin.bigdecimal.BigDecimalValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.biginteger.BigIntegerValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.primboolean.BooleanValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.primdouble.DoubleValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.primint.IntValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.primlong.LongValueRange;
import org.optaplanner.core.impl.domain.valuerange.buildin.temporal.TemporalValueRange;

/**
* Factory for {@link ValueRange}.
Expand Down Expand Up @@ -135,4 +140,16 @@ public static CountableValueRange<BigDecimal> createBigDecimalValueRange(BigDeci
return new BigDecimalValueRange(from, to, incrementUnit);
}

/**
* Build a {@link CountableValueRange} of a subset of {@link Temporal} values (such as {@link LocalDate} or {@link LocalDateTime}) between 2 bounds.
* All parameters must have the same {@link TemporalUnit}.
* @param from never null, inclusive minimum
* @param to never null, exclusive maximum, {@code >= from}
* @param incrementUnitAmount {@code > 0}
* @param incrementUnitType never null, must be {@link Temporal#isSupported(TemporalUnit) supported} by {@code from} and {@code to}
*/
public static CountableValueRange<Temporal> createTemporalRange(Temporal from, Temporal to, long incrementUnitAmount, TemporalUnit incrementUnitType) {
return new TemporalValueRange(from, to, incrementUnitAmount, incrementUnitType);
}

}
Expand Up @@ -892,6 +892,11 @@ public class NQueens {
<para><literal>BigDecimal</literal>: A decimal point range. By default, the increment unit is the lowest
non-zero value in the scale of the bounds.</para>
</listitem>

<listitem>
<para><literal>Temporal</literal> (such as <literal>LocalDate</literal>, <literal>LocalDateTime</literal>,
...): A time range.</para>
</listitem>
</itemizedlist>
</section>

Expand Down

0 comments on commit bb3626f

Please sign in to comment.