Package cdm.base.math.functions
Class RoundToPrecision
java.lang.Object
cdm.base.math.functions.RoundToPrecision
- All Implemented Interfaces:
com.rosetta.model.lib.functions.RosettaFunction
- Direct Known Subclasses:
RoundToPrecision.RoundToPrecisionDefault,RoundToPrecisionImpl
public abstract class RoundToPrecision
extends Object
implements com.rosetta.model.lib.functions.RosettaFunction
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected com.rosetta.model.lib.functions.ConditionValidator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract BigDecimaldoEvaluate(BigDecimal value, Integer precision, RoundingDirectionEnum roundingMode, Boolean removeTrailingZeros) evaluate(BigDecimal value, Integer precision, RoundingDirectionEnum roundingMode, Boolean removeTrailingZeros) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.rosetta.model.lib.functions.RosettaFunction
toBuilder, toBuilder, toBuilder
-
Field Details
-
conditionValidator
@Inject protected com.rosetta.model.lib.functions.ConditionValidator conditionValidator
-
-
Constructor Details
-
RoundToPrecision
public RoundToPrecision()
-
-
Method Details
-
evaluate
public BigDecimal evaluate(BigDecimal value, Integer precision, RoundingDirectionEnum roundingMode, Boolean removeTrailingZeros) - Parameters:
value- The original (unrounded) number.precision- The number of decimal digits of precision.roundingMode- The method of rounding (up/down/nearest).removeTrailingZeros- Flag to specify whether to strip trailing zeros.- Returns:
- roundedValue The value to the desired precision
-
doEvaluate
protected abstract BigDecimal doEvaluate(BigDecimal value, Integer precision, RoundingDirectionEnum roundingMode, Boolean removeTrailingZeros)
-