@Override protected FeatureResult<Boolean> checkInternal(T context, RuntimeEnvironment env) { FeatureResult<Boolean> featureResult = null; FeatureResult<Double> operand1Result = operand1.check(context, env); FeatureResult<Double> operand2Result = operand2.check(context, env); if (operand1Result != null && operand2Result != null) { boolean result = operand1Result.getOutcome() > operand2Result.getOutcome(); featureResult = this.generateResult(result); } return featureResult; }
@Override protected FeatureResult<String> checkInternal(T context, RuntimeEnvironment env) { FeatureResult<String> featureResult = null; FeatureResult<Boolean> conditionResult = condition.check(context, env); if (conditionResult != null) { boolean conditionOutcome = conditionResult.getOutcome(); if (conditionOutcome) { FeatureResult<String> thenFeatureResult = thenFeature.check(context, env); if (thenFeatureResult != null) { String result = thenFeatureResult.getOutcome(); featureResult = this.generateResult(result); } } else { FeatureResult<String> elseFeatureResult = elseFeature.check(context, env); if (elseFeatureResult != null) { String result = elseFeatureResult.getOutcome(); featureResult = this.generateResult(result); } } } return featureResult; }
@Override public FeatureResult<Boolean> checkInternal(T context, RuntimeEnvironment env) { FeatureResult<Boolean> featureResult = null; boolean booleanResult = false; for (BooleanFeature<T> booleanFeature : booleanFeatures) { FeatureResult<Boolean> result = booleanFeature.check(context, env); boolean value = false; if (result != null) { value = result.getOutcome(); } booleanResult = booleanResult || value; if (booleanResult) break; } featureResult = this.generateResult(booleanResult); return featureResult; }