当前位置: 首页>>代码示例>>Java>>正文


Java XPathBoolExpr类代码示例

本文整理汇总了Java中org.javarosa.xpath.expr.XPathBoolExpr的典型用法代码示例。如果您正苦于以下问题:Java XPathBoolExpr类的具体用法?Java XPathBoolExpr怎么用?Java XPathBoolExpr使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


XPathBoolExpr类属于org.javarosa.xpath.expr包,在下文中一共展示了XPathBoolExpr类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getBinOpExpr

import org.javarosa.xpath.expr.XPathBoolExpr; //导入依赖的package包/类
private XPathBinaryOpExpr getBinOpExpr (int op, XPathExpression a, XPathExpression b) throws XPathSyntaxException {
	switch (op) {
	case Token.OR: return new XPathBoolExpr(XPathBoolExpr.OR, a, b);
	case Token.AND: return new XPathBoolExpr(XPathBoolExpr.AND, a, b);
	case Token.EQ: return new XPathEqExpr(true, a, b);
	case Token.NEQ: return new XPathEqExpr(false, a, b);
	case Token.LT: return new XPathCmpExpr(XPathCmpExpr.LT, a, b);
	case Token.LTE: return new XPathCmpExpr(XPathCmpExpr.LTE, a, b);
	case Token.GT: return new XPathCmpExpr(XPathCmpExpr.GT, a, b);
	case Token.GTE: return new XPathCmpExpr(XPathCmpExpr.GTE, a, b);
	case Token.PLUS: return new XPathArithExpr(XPathArithExpr.ADD, a, b);
	case Token.MINUS: return new XPathArithExpr(XPathArithExpr.SUBTRACT, a, b);
	case Token.MULT: return new XPathArithExpr(XPathArithExpr.MULTIPLY, a, b);
	case Token.DIV: return new XPathArithExpr(XPathArithExpr.DIVIDE, a, b);
	case Token.MOD: return new XPathArithExpr(XPathArithExpr.MODULO, a, b);
	case Token.UNION: return new XPathUnionExpr(a, b);
	default: throw new XPathSyntaxException();
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:20,代码来源:ASTNodeBinaryOp.java

示例2: getBinOpExpr

import org.javarosa.xpath.expr.XPathBoolExpr; //导入依赖的package包/类
private XPathBinaryOpExpr getBinOpExpr(int op, XPathExpression a, XPathExpression b) throws XPathSyntaxException {
    switch (op) {
        case Token.OR:
            return new XPathBoolExpr(XPathBoolExpr.OR, a, b);
        case Token.AND:
            return new XPathBoolExpr(XPathBoolExpr.AND, a, b);
        case Token.EQ:
            return new XPathEqExpr(XPathEqExpr.EQ, a, b);
        case Token.NEQ:
            return new XPathEqExpr(XPathEqExpr.NEQ, a, b);
        case Token.LT:
            return new XPathCmpExpr(XPathCmpExpr.LT, a, b);
        case Token.LTE:
            return new XPathCmpExpr(XPathCmpExpr.LTE, a, b);
        case Token.GT:
            return new XPathCmpExpr(XPathCmpExpr.GT, a, b);
        case Token.GTE:
            return new XPathCmpExpr(XPathCmpExpr.GTE, a, b);
        case Token.PLUS:
            return new XPathArithExpr(XPathArithExpr.ADD, a, b);
        case Token.MINUS:
            return new XPathArithExpr(XPathArithExpr.SUBTRACT, a, b);
        case Token.MULT:
            return new XPathArithExpr(XPathArithExpr.MULTIPLY, a, b);
        case Token.DIV:
            return new XPathArithExpr(XPathArithExpr.DIVIDE, a, b);
        case Token.MOD:
            return new XPathArithExpr(XPathArithExpr.MODULO, a, b);
        case Token.UNION:
            return new XPathUnionExpr(a, b);
        default:
            throw new XPathSyntaxException();
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:35,代码来源:ASTNodeBinaryOp.java

示例3: equalityForDifferentBinaryOps

import org.javarosa.xpath.expr.XPathBoolExpr; //导入依赖的package包/类
/**
 * Extensive checks of binary op expression equality logic, because we all
 * know 'a > b' isn't the same as 'a = b', but we don't always write code
 * that knows that...
 */
@Test
public void equalityForDifferentBinaryOps() {
    XPathStringLiteral leftStringExpr = new XPathStringLiteral("left side");
    XPathNumericLiteral zero = new XPathNumericLiteral(0d);

    // Setup expressions to test equality over.
    // Note: these binary expressions make semantic sense
    XPathArithExpr additionExpr = new XPathArithExpr(XPathArithExpr.ADD, leftStringExpr, zero);
    XPathArithExpr additionExprClone = new XPathArithExpr(XPathArithExpr.ADD, leftStringExpr, zero);
    XPathArithExpr subtractExpr = new XPathArithExpr(XPathArithExpr.SUBTRACT, leftStringExpr, zero);

    XPathBoolExpr andExpr = new XPathBoolExpr(XPathBoolExpr.AND, leftStringExpr, zero);
    XPathBoolExpr andExprClone = new XPathBoolExpr(XPathBoolExpr.AND, leftStringExpr, zero);
    XPathBoolExpr orExpr = new XPathBoolExpr(XPathBoolExpr.OR, leftStringExpr, zero);

    XPathCmpExpr lessThanExpr = new XPathCmpExpr(XPathCmpExpr.LT, leftStringExpr, zero);
    XPathCmpExpr greaterThanExpr = new XPathCmpExpr(XPathCmpExpr.GT, leftStringExpr, zero);

    XPathEqExpr eqExpr = new XPathEqExpr(XPathEqExpr.EQ, leftStringExpr, zero);
    XPathEqExpr neqExpr = new XPathEqExpr(XPathEqExpr.NEQ, leftStringExpr, zero);

    XPathUnionExpr union = new XPathUnionExpr(leftStringExpr, zero);
    XPathUnionExpr differentUnion = new XPathUnionExpr(zero, zero);

    // basic equality tests over same subclass
    Assert.assertEquals("Same + expression reference is equal", additionExpr, additionExpr);
    Assert.assertEquals("Same + expression is equal", additionExpr, additionExprClone);
    Assert.assertNotEquals("+ not equal to  -", additionExpr, subtractExpr);
    Assert.assertEquals("Same && expression reference is equal", andExpr, andExpr);
    Assert.assertEquals("Same && expression is equal", andExpr, andExprClone);
    Assert.assertNotEquals("&& not equal to ||", andExpr, orExpr);
    Assert.assertEquals("Same < expression is equal", lessThanExpr, lessThanExpr);
    Assert.assertNotEquals("< not equal to  >", lessThanExpr, greaterThanExpr);
    Assert.assertEquals("Same == expression is equal", eqExpr, eqExpr);
    Assert.assertNotEquals("== not equal to !=", eqExpr, neqExpr);

    // make sure different binary expressions with same op code aren't equal
    Assert.assertNotEquals("+ not equal to &&", additionExpr, andExpr);
    Assert.assertNotEquals("+ not equal to <", additionExpr, lessThanExpr);
    Assert.assertNotEquals("+ not equal to ==", additionExpr, eqExpr);
    Assert.assertNotEquals("- not equal to ||", subtractExpr, orExpr);
    Assert.assertNotEquals("- not equal to >", subtractExpr, greaterThanExpr);
    Assert.assertNotEquals("- not equal to !=", subtractExpr, neqExpr);

    // make sure union equality, which doesn't have an op code, works
    Assert.assertEquals("same union instance is equal to itself", union, union);
    Assert.assertNotEquals(union, differentUnion);
    Assert.assertNotEquals("+ not equal to union", additionExpr, union);
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:55,代码来源:XPathBinaryOpExprTest.java


注:本文中的org.javarosa.xpath.expr.XPathBoolExpr类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。