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

com.github.simy4.xpath.expr.LessThanExpr 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 LessThanExpr extends AbstractOperationExpr {

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

    @Override
    public  View resolve(ViewContext context, View left, View right)
            throws XmlBuilderException {
        final boolean lt = 0 > Double.compare(left.toNumber(), right.toNumber());
        if (!lt && context.isGreedy() && !context.hasNext()) {
            throw new XmlBuilderException("Can not apply a 'less than' operator to: " + left + " and: " + right);
        }
        return BooleanView.of(lt);
    }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy