PredicateFactory.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:graphflow 作者:
private static Predicate<String[]> getComparativeClausePredicate(
    ComparisonPredicate comparisonPredicate, Map<String, Integer> descriptorIndexMap) {
    DataType dataType = getDataTypeToCastOperandsTo(comparisonPredicate);
    ComparisonOperator operator = comparisonPredicate.getComparisonOperator();
    Pair<String, String> leftOperand = comparisonPredicate.getLeftOperand();
    Pair<String, String> rightOperand = comparisonPredicate.getRightOperand();
    String literal = comparisonPredicate.getLiteral();

    int variable1IndexInPropertyResults = descriptorIndexMap.get(leftOperand.a + '.' +
        leftOperand.b);
    int variable2IndexInPropertyResults = (null != rightOperand) ? descriptorIndexMap.get(
        rightOperand.a + '.' + rightOperand.b) : -1;

    return (String[] predicate) -> {
        String rvalue = (variable2IndexInPropertyResults == -1) ? literal : predicate[
            variable2IndexInPropertyResults];
        return RuntimeComparator.resolveTypesAndCompare(DataType.parseDataType(dataType,
            predicate[variable1IndexInPropertyResults]), DataType.parseDataType(dataType,
            rvalue), operator);
    };
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号