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

com.github.simy4.xpath.expr.LessThanOrEqualsExpr Maven / Gradle / Ivy

There is a newer version: 2.3.9
Show newest version
package com.github.simy4.xpath.expr;

import com.github.simy4.xpath.XmlBuilderException;
import com.github.simy4.xpath.navigator.Node;
import com.github.simy4.xpath.view.BooleanView;
import com.github.simy4.xpath.view.View;
import com.github.simy4.xpath.view.ViewContext;

public class LessThanOrEqualsExpr extends AbstractOperationExpr {

    public LessThanOrEqualsExpr(Expr leftExpr, Expr rightExpr) {
        super(leftExpr, rightExpr);
    }

    @Override
    public  View resolve(ViewContext context, View left, View right)
            throws XmlBuilderException {
        boolean le = 0 >= Double.compare(left.toNumber(), right.toNumber());
        if (!le && context.isGreedy() && !context.hasNext()) {
            le = left.visit(new EqualsExpr.EqualsVisitor(context.getNavigator(), right));
        }
        return BooleanView.of(le);
    }

    @Override
    String operator() {
        return "<=";
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy