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


Java CompoundPredicate类代码示例

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


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

示例1: evaluateNode

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
private Boolean evaluateNode(Trail trail, Node node, EvaluationContext context){
	EmbeddedModel embeddedModel = node.getEmbeddedModel();
	if(embeddedModel != null){
		throw new UnsupportedElementException(embeddedModel);
	}

	Predicate predicate = PredicateUtil.ensurePredicate(node);

	// A compound predicate whose boolean operator is "surrogate" represents a special case
	if(predicate instanceof CompoundPredicate){
		CompoundPredicate compoundPredicate = (CompoundPredicate)predicate;

		PredicateUtil.CompoundPredicateResult result = PredicateUtil.evaluateCompoundPredicateInternal(compoundPredicate, context);
		if(result.isAlternative()){
			trail.addMissingLevel();
		}

		return result.getResult();
	} else

	{
		return PredicateUtil.evaluate(predicate, context);
	}
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:25,代码来源:TreeModelEvaluator.java

示例2: evaluateSurrogateCompoundPredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
@Test
public void evaluateSurrogateCompoundPredicate(){
	FieldName temperature = FieldName.create("temperature");
	FieldName humidity = FieldName.create("humidity");

	CompoundPredicate temperaturePredicate = new CompoundPredicate(CompoundPredicate.BooleanOperator.AND)
		.addPredicates(
			new SimplePredicate(temperature, SimplePredicate.Operator.LESS_THAN).setValue("90"),
			new SimplePredicate(temperature, SimplePredicate.Operator.GREATER_THAN).setValue("50")
		);

	SimplePredicate humidityPredicate = new SimplePredicate(humidity, SimplePredicate.Operator.GREATER_OR_EQUAL).setValue("80");

	CompoundPredicate compoundPredicate = new CompoundPredicate(CompoundPredicate.BooleanOperator.SURROGATE)
		.addPredicates(temperaturePredicate, humidityPredicate);

	assertEquals(Boolean.TRUE, evaluate(compoundPredicate, temperature, 70, humidity, null));
	assertEquals(Boolean.FALSE, evaluate(compoundPredicate, temperature, 40, humidity, null));
	assertEquals(Boolean.FALSE, evaluate(compoundPredicate,  temperature, 100, humidity, null));

	assertEquals(Boolean.TRUE, evaluate(compoundPredicate, temperature, null, humidity, 90));
	assertEquals(Boolean.FALSE, evaluate(compoundPredicate, temperature, null, humidity, 70));

	assertEquals(null, evaluate(compoundPredicate, temperature, null, humidity, null));
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:26,代码来源:PredicateUtilTest.java

示例3: getFieldNamesFromPredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
protected static void getFieldNamesFromPredicate(Set<String> fieldNames, Predicate predicate) {
    if (predicate instanceof CompoundPredicate) {
        List<Predicate> predicates = ((CompoundPredicate) predicate).getPredicates();
        for (Predicate predicate1 : predicates) {
            getFieldNamesFromPredicate(fieldNames, predicate1);
        }
    } else {
        if (predicate instanceof SimplePredicate) {
            fieldNames.add(((SimplePredicate) predicate).getField().getValue());
        } else if (predicate instanceof SimpleSetPredicate) {
            fieldNames.add(((SimpleSetPredicate) predicate).getField().getValue());
        }
    }
}
 
开发者ID:brwe,项目名称:es-token-plugin,代码行数:15,代码来源:TreeModelFactory.java

示例4: visit

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
@Override
public VisitorAction visit(CompoundPredicate compoundPredicate){

	if(compoundPredicate.hasPredicates()){
		filterAll(compoundPredicate.getPredicates());
	}

	return super.visit(compoundPredicate);
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:10,代码来源:PredicateFilterer.java

示例5: evaluatePredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
static
Boolean evaluatePredicate(Predicate predicate, EvaluationContext context){

	if(predicate instanceof SimplePredicate){
		return evaluateSimplePredicate((SimplePredicate)predicate, context);
	} else

	if(predicate instanceof SimpleSetPredicate){
		return evaluateSimpleSetPredicate((SimpleSetPredicate)predicate, context);
	} else

	if(predicate instanceof CompoundPredicate){
		return evaluateCompoundPredicate((CompoundPredicate)predicate, context);
	} else

	if(predicate instanceof True){
		return evaluateTrue((True)predicate);
	} else

	if(predicate instanceof False){
		return evaluateFalse((False)predicate);
	} // End if

	if(predicate instanceof JavaPredicate){
		return evaluateJavaPredicate((JavaPredicate)predicate, context);
	}

	throw new UnsupportedElementException(predicate);
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:30,代码来源:PredicateUtil.java

示例6: transform

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
public Predicate transform(Predicate predicate){

		if(predicate instanceof SimpleSetPredicate){
			return transform((SimpleSetPredicate)predicate);
		} else

		if(predicate instanceof CompoundPredicate){
			return transform((CompoundPredicate)predicate);
		}

		return predicate;
	}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:13,代码来源:PredicateTransformer.java

示例7: intern

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
@Test
public void intern(){
	SimplePredicate left = new CustomSimplePredicate(FieldName.create("x"), SimplePredicate.Operator.LESS_THAN, new String("0"));

	SimplePredicate right = new CustomSimplePredicate(FieldName.create("y"), SimplePredicate.Operator.LESS_THAN, new String("0"));

	assertNotSame(left.getValue(), right.getValue());

	CompoundPredicate compoundPredicate = new CompoundPredicate(CompoundPredicate.BooleanOperator.OR)
		.addPredicates(left, right);

	StringInterner interner = new StringInterner();
	interner.applyTo(compoundPredicate);

	assertSame(left.getValue(), right.getValue());
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:17,代码来源:StringInternerTest.java

示例8: createCompoundPredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
static
private CompoundPredicate createCompoundPredicate(CompoundPredicate.BooleanOperator booleanOperator, Predicate... predicates){
	return new CompoundPredicate(booleanOperator)
		.addPredicates(predicates);
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:6,代码来源:GolfingTreeModelExample.java

示例9: evaluateCompoundPredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
static
public Boolean evaluateCompoundPredicate(CompoundPredicate compoundPredicate, EvaluationContext context){
	CompoundPredicateResult result = evaluateCompoundPredicateInternal(compoundPredicate, context);

	return result.getResult();
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:7,代码来源:PredicateUtil.java

示例10: evaluateCompoundPredicateInternal

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
static
public CompoundPredicateResult evaluateCompoundPredicateInternal(CompoundPredicate compoundPredicate, EvaluationContext context){
	CompoundPredicate.BooleanOperator booleanOperator = compoundPredicate.getBooleanOperator();
	if(booleanOperator == null){
		throw new MissingAttributeException(compoundPredicate, PMMLAttributes.COMPOUNDPREDICATE_BOOLEANOPERATOR);
	} // End if

	if(!compoundPredicate.hasPredicates()){
		throw new MissingElementException(MissingElementException.formatMessage(XPathUtil.formatElement(compoundPredicate.getClass()) + "/<Predicate>"), compoundPredicate);
	}

	List<Predicate> predicates = compoundPredicate.getPredicates();
	if(predicates.size() < 2){
		throw new InvalidElementListException(predicates);
	}

	Predicate predicate = predicates.get(0);

	Boolean result = evaluate(predicate, context);

	switch(booleanOperator){
		case AND:
		case OR:
		case XOR:
			break;
		case SURROGATE:
			if(result != null){
				return new CompoundPredicateResult(result, false);
			}
			break;
		default:
			throw new UnsupportedAttributeException(compoundPredicate, booleanOperator);
	}

	for(int i = 1, max = predicates.size(); i < max; i++){
		predicate = predicates.get(i);

		Boolean value = evaluate(predicate, context);

		switch(booleanOperator){
			case AND:
				result = PredicateUtil.binaryAnd(result, value);
				break;
			case OR:
				result = PredicateUtil.binaryOr(result, value);
				break;
			case XOR:
				result = PredicateUtil.binaryXor(result, value);
				break;
			case SURROGATE:
				if(value != null){
					return new CompoundPredicateResult(value, true);
				}
				break;
			default:
				throw new UnsupportedAttributeException(compoundPredicate, booleanOperator);
		}
	}

	return new CompoundPredicateResult(result, false);
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:62,代码来源:PredicateUtil.java

示例11: evaluateBooleanCompoundPredicate

import org.dmg.pmml.CompoundPredicate; //导入依赖的package包/类
@Test
public void evaluateBooleanCompoundPredicate(){
	CompoundPredicate compoundPredicate = new CompoundPredicate()
		.addPredicates(new True(), new False());

	compoundPredicate.setBooleanOperator(CompoundPredicate.BooleanOperator.AND);

	assertEquals(Boolean.FALSE, evaluate(compoundPredicate));

	compoundPredicate.setBooleanOperator(CompoundPredicate.BooleanOperator.OR);

	assertEquals(Boolean.TRUE, evaluate(compoundPredicate));

	compoundPredicate.setBooleanOperator(CompoundPredicate.BooleanOperator.XOR);

	assertEquals(Boolean.TRUE, evaluate(compoundPredicate));
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:18,代码来源:PredicateUtilTest.java


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