ResultCollector.java 1.6 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 28
    public ResultCollector(ResultCollector<T> resultCollector) {
        this.abstractValue = resultCollector.abstractValue;
        this.priorityManager = resultCollector.priorityManager;
        this.schedulingInfos = new HashSet<>();
    }

29 30 31 32 33
    /**
     * @return the priorityManager
     */
    public PriorityManager getPriorityManager() {
        return priorityManager;
34 35
    }

36 37 38 39 40
    /**
     * @return the abstractValue
     */
    public T getAbstractValue() {
        return abstractValue;
41 42
    }

43 44
    public String getName() {
        return abstractValue.getName() + "_" + priorityManager.getName();
45 46 47
    }


48 49
    public boolean addResult(SchedulingInfo schedulingInfo) {
        return this.schedulingInfos.add(schedulingInfo);
50 51
    }

52 53
    public Set<SchedulingInfo> getResults() {
        return schedulingInfos;
54 55
    }

56 57 58 59
    @Override
    public int compareTo(ResultCollector<? extends TypeInterface> o) {
        return getName().compareTo(o.getName());
    }
60
}