Class ComposedEvaluator<S>
- java.lang.Object
-
- jadex.bridge.nonfunctional.search.ComposedEvaluator<S>
-
- All Implemented Interfaces:
IServiceEvaluator,IServiceRanker<S>
public class ComposedEvaluator<S> extends java.lang.Object implements IServiceEvaluator, IServiceRanker<S>
Evaluator composed of multiple weighted evaluators.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<Tuple2<IServiceEvaluator,java.lang.Double>>evaluatorsThe evaluators.
-
Constructor Summary
Constructors Constructor Description ComposedEvaluator()Creates the combiner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEvaluator(IServiceEvaluator evaluator)Adds a new evaluator with a weight of 1.0.voidaddEvaluator(IServiceEvaluator evaluator, double weight)Adds a new evaluator.IFuture<java.lang.Double>evaluate(IService service)Evaluates the service in detail.IFuture<java.util.List<S>>rank(java.util.List<S> unrankedservices)Ranks services according to non-functional criteria.IFuture<java.util.List<Tuple2<S,java.lang.Double>>>rankWithScores(java.util.List<S> unrankedservices)Ranks services according to non-functional criteria.voidremoveEvaluator(IServiceEvaluator evaluator)Removes an evaluator.
-
-
-
Field Detail
-
evaluators
protected java.util.List<Tuple2<IServiceEvaluator,java.lang.Double>> evaluators
The evaluators.
-
-
Method Detail
-
addEvaluator
public void addEvaluator(IServiceEvaluator evaluator)
Adds a new evaluator with a weight of 1.0.- Parameters:
evaluator- The new evaluator.
-
addEvaluator
public void addEvaluator(IServiceEvaluator evaluator, double weight)
Adds a new evaluator.- Parameters:
evaluator- The new evaluator.weight- The weight of the evaluator relative to other evaluators.
-
removeEvaluator
public void removeEvaluator(IServiceEvaluator evaluator)
Removes an evaluator.- Parameters:
evaluator- The evaluator.
-
evaluate
public IFuture<java.lang.Double> evaluate(IService service)
Evaluates the service in detail. This method must return an evaluation of the service in the range between 0 (worst/unacceptable) to 1 (best/preferred).- Specified by:
evaluatein interfaceIServiceEvaluator- Parameters:
service- The service being evaluated.- Returns:
- An evaluation of the service in a range between 0 and 1 (inclusive).
-
rank
public IFuture<java.util.List<S>> rank(java.util.List<S> unrankedservices)
Ranks services according to non-functional criteria.- Specified by:
rankin interfaceIServiceRanker<S>- Parameters:
unrankedservices- Unranked list of services.- Returns:
- Ranked list of services.
-
rankWithScores
public IFuture<java.util.List<Tuple2<S,java.lang.Double>>> rankWithScores(java.util.List<S> unrankedservices)
Ranks services according to non-functional criteria.- Specified by:
rankWithScoresin interfaceIServiceRanker<S>- Parameters:
unrankedservices- Unranked list of services.- Returns:
- Ranked list of services and scores.
-
-