org.mvel2.ast.IntDiv Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mvel2 Show documentation
Show all versions of mvel2 Show documentation
MVEL is a powerful expression language for Java-based applications.
It provides a plethora of features and is suited for everything
from the smallest property binding and extraction, to full blown scripts.
package org.mvel2.ast;
import org.mvel2.Operator;
import org.mvel2.ParserContext;
import org.mvel2.integration.VariableResolverFactory;
public class IntDiv extends BinaryOperation implements IntOptimized {
public IntDiv(ASTNode left, ASTNode right, ParserContext pCtx) {
super(Operator.MULT, pCtx);
this.left = left;
this.right = right;
}
@Override
public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) {
return ((Integer) left.getReducedValueAccelerated(ctx, thisValue, factory))
/ ((Integer) right.getReducedValueAccelerated(ctx, thisValue, factory));
}
@Override
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) {
return ((Integer) left.getReducedValue(ctx, thisValue, factory))
/ ((Integer) right.getReducedValue(ctx, thisValue, factory));
}
@Override
public void setRight(ASTNode node) {
super.setRight(node);
}
@Override
public Class getEgressType() {
return Integer.class;
}
}