ResultCollector.java 1.36 KB
Newer Older
1 2
package mvd.jester;

3
import java.util.HashSet;
4 5
import java.util.Set;
import mvd.jester.info.SchedulingInfo;
6
import mvd.jester.priority.PriorityManager;
7 8

/**
9
 * PriorityPair
10
 */
11 12 13 14 15 16 17 18 19 20
public class ResultCollector<T extends TypeInterface>
        implements Comparable<ResultCollector<? extends TypeInterface>> {
    private final PriorityManager priorityManager;
    private final T abstractValue;
    private final Set<SchedulingInfo> schedulingInfos;

    public ResultCollector(PriorityManager priorityManager, T abstractValue) {
        this.abstractValue = abstractValue;
        this.priorityManager = priorityManager;
        this.schedulingInfos = new HashSet<>();
21 22
    }

23 24 25 26 27
    /**
     * @return the priorityManager
     */
    public PriorityManager getPriorityManager() {
        return priorityManager;
28 29
    }

30 31 32 33 34
    /**
     * @return the abstractValue
     */
    public T getAbstractValue() {
        return abstractValue;
35 36
    }

37 38
    public String getName() {
        return abstractValue.getName() + "_" + priorityManager.getName();
39 40 41
    }


42 43
    public void addResult(SchedulingInfo schedulingInfo) {
        this.schedulingInfos.add(schedulingInfo);
44 45
    }

46 47
    public Set<SchedulingInfo> getResults() {
        return schedulingInfos;
48 49
    }

50 51 52 53
    @Override
    public int compareTo(ResultCollector<? extends TypeInterface> o) {
        return getName().compareTo(o.getName());
    }
54
}