@Immutable public class DurationOperations extends Object implements MathOperations<Duration>, Comparator<Duration>
math operations for Durations.| Constructor and Description |
|---|
DurationOperations() |
| Modifier and Type | Method and Description |
|---|---|
Duration |
add(Duration value1,
Duration value2)
Add the two operands and return the sum.
|
BigDecimal |
asBigDecimal(Duration value)
Create a
BigDecimal representation of the supplied value. |
int |
compare(Duration value1,
Duration value2)
Compare the two operands and return an integer that describes whether the first value is larger, smaller or the same as the
second value.
|
Duration |
create(double value)
Convert the double representation into the natural object representation.
|
Duration |
create(int value)
Convert the integer representation into the natural object representation.
|
Duration |
create(long value)
Convert the long representation into the natural object representation.
|
Duration |
createZeroValue()
Create the object form of the "zero value".
|
double |
divide(Duration value1,
Duration value2)
Divide the first operand by the second, and return the result.
|
double |
doubleValue(Duration value)
Convert the value to a double.
|
float |
floatValue(Duration value)
Convert the value to a float.
|
Duration |
fromBigDecimal(BigDecimal value)
Convert the
BigDecimal representation into the natural object representation. |
Comparator<Duration> |
getComparator()
Return a
Comparator for this operand class. |
int |
getExponentInScientificNotation(Duration value)
Get the exponent if the number were written in exponential form.
|
Class<Duration> |
getOperandClass()
Return the class that these operations operate upon.
|
Duration |
increment(Duration value)
Increment the supplied operand by 1.
|
int |
intValue(Duration value)
Convert the value to an integer.
|
Duration |
keepSignificantFigures(Duration value,
int numSigFigs) |
long |
longValue(Duration value)
Convert the value to a long integer.
|
Duration |
maximum(Duration value1,
Duration value2)
Compare the two operands and return the one that is larger.
|
Duration |
minimum(Duration value1,
Duration value2)
Compare the two operands and return the one that is smaller.
|
Duration |
multiply(Duration value1,
Duration value2)
Multiply the two operands and return the product.
|
Duration |
negate(Duration value)
Negate the supplied operand.
|
Duration |
random(Duration minimum,
Duration maximum,
Random rng)
Generate a random instance within the specified range.
|
Duration |
roundDown(Duration durationValue,
int decimalShift)
Round down the supplied value to the desired scale.
|
Duration |
roundUp(Duration durationValue,
int decimalShift)
Round up the supplied value to the desired scale.
|
short |
shortValue(Duration value)
Convert the value to a short.
|
double |
sqrt(Duration value)
Return the square root of the supplied operand.
|
Duration |
subtract(Duration value1,
Duration value2)
Subtract the second operand from the first, and return the difference.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitequalspublic Class<Duration> getOperandClass()
MathOperationsgetOperandClass in interface MathOperations<Duration>public Duration add(Duration value1, Duration value2)
MathOperationszero value is used in place of any operand that is
null.add in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic Duration subtract(Duration value1, Duration value2)
MathOperationszero value is used in
place of any operand that is null.subtract in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic Duration multiply(Duration value1, Duration value2)
MathOperationszero value is used in place of any operand
that is null.multiply in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic double divide(Duration value1, Duration value2)
MathOperationszero value is used in place
of any operand that is null.divide in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic Duration negate(Duration value)
MathOperationszero value is used in place of any operand that is null.negate in interface MathOperations<Duration>value - the value that is to be negatedpublic Duration increment(Duration value)
MathOperationsoperand class. The zero value is used in place of any operand that is
null.increment in interface MathOperations<Duration>value - the value that is to be incrementedpublic Duration maximum(Duration value1, Duration value2)
MathOperationsmaximum in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic Duration minimum(Duration value1, Duration value2)
MathOperationsminimum in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic int compare(Duration value1, Duration value2)
MathOperationsComparable. The zero value is used
in place of any operand that is null.compare in interface Comparator<Duration>compare in interface MathOperations<Duration>value1 - the first operandvalue2 - the second operandpublic BigDecimal asBigDecimal(Duration value)
MathOperationsBigDecimal representation of the supplied value.asBigDecimal in interface MathOperations<Duration>value - the value that is to be converted to a BigDecimalvalue is nullpublic Duration fromBigDecimal(BigDecimal value)
MathOperationsBigDecimal representation into the natural object representation. This may result in loss of some data
(e.g., converting a decimal to an integer results in the loss of the fractional part of the number).fromBigDecimal in interface MathOperations<Duration>value - the BigDecimal valuevalue is nullpublic Duration createZeroValue()
MathOperationscreateZeroValue in interface MathOperations<Duration>public Duration create(int value)
MathOperationscreate in interface MathOperations<Duration>value - the integer valuepublic Duration create(long value)
MathOperationscreate in interface MathOperations<Duration>value - the long valuepublic Duration create(double value)
MathOperationscreate in interface MathOperations<Duration>value - the double valuepublic double sqrt(Duration value)
MathOperationssqrt in interface MathOperations<Duration>value - the value whose root is to be found; may not be null or 0public Comparator<Duration> getComparator()
MathOperationsComparator for this operand class. The implementation is free to
return the same comparator instance from multiple invocations of this method.getComparator in interface MathOperations<Duration>public Duration random(Duration minimum, Duration maximum, Random rng)
MathOperationsrandom in interface MathOperations<Duration>minimum - the minimum value, or null if the zero-value should be used for the minimummaximum - the maximum value, or null if the zero-value should be used for the maximumrng - the random number generator to useoperand class placed within the desired range using a random
distribution, or null if this class does not support generating random instancespublic double doubleValue(Duration value)
MathOperationsoperand class.doubleValue in interface MathOperations<Duration>value - the valuepublic float floatValue(Duration value)
MathOperationsoperand
class.floatValue in interface MathOperations<Duration>value - the valuepublic int intValue(Duration value)
MathOperationsoperand class.intValue in interface MathOperations<Duration>value - the valuepublic long longValue(Duration value)
MathOperationsoperand class.longValue in interface MathOperations<Duration>value - the valuepublic short shortValue(Duration value)
MathOperationsoperand
class.shortValue in interface MathOperations<Duration>value - the valuepublic int getExponentInScientificNotation(Duration value)
MathOperationsgetExponentInScientificNotation in interface MathOperations<Duration>value - the valuepublic Duration roundUp(Duration durationValue, int decimalShift)
MathOperationsdecimalShift places, rounding, and then shifting the decimal point of the rounded value by
-decimalShift
For example, consider the number 10.000354. This can be rounded to 10.0004 by calling this method and supplying the value and an "exponentToKeep" value of -4.
roundUp in interface MathOperations<Duration>durationValue - the value to be roundeddecimalShift - the number of places the decimal point should be shifted before roundingpublic Duration roundDown(Duration durationValue, int decimalShift)
MathOperationsdecimalShift places, rounding, and then shifting the decimal point of the rounded value by
-decimalShift
For example, consider the number 10.000354. This can be rounded to 10.0003 by calling this method and supplying the value and an "exponentToKeep" value of -4.
roundDown in interface MathOperations<Duration>durationValue - the value to be roundeddecimalShift - the number of places the decimal point should be shifted before roundingpublic Duration keepSignificantFigures(Duration value, int numSigFigs)
keepSignificantFigures in interface MathOperations<Duration>Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.