All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hisp.dhis.rules.functions.RuleFunctionFloor Maven / Gradle / Ivy

package org.hisp.dhis.rules.functions;

import org.hisp.dhis.rules.parser.expression.CommonExpressionVisitor;
import org.hisp.dhis.rules.parser.expression.function.ScalarFunctionToEvaluate;

import static org.apache.commons.lang3.math.NumberUtils.toDouble;
import static org.hisp.dhis.parser.expression.antlr.ExpressionParser.ExprContext;
import static org.hisp.dhis.antlr.AntlrParserUtils.castDouble;

public class RuleFunctionFloor
    extends ScalarFunctionToEvaluate
{
    @Override
    public Object evaluate( ExprContext ctx, CommonExpressionVisitor visitor )
    {
        return String.valueOf( (long) Math.floor( toDouble( visitor.castStringVisit( ctx.expr( 0 ) ), 0.0 ) ) );
    }

    @Override
    public Object getDescription( ExprContext ctx, CommonExpressionVisitor visitor )
    {
        castDouble( visitor.visit( ctx.expr( 0 ) ) );
        return CommonExpressionVisitor.DEFAULT_DOUBLE_VALUE;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy