
com.mindsnacks.zinc.classes.downloads.DownloadPriorityCalculator Maven / Gradle / Ivy
package com.mindsnacks.zinc.classes.downloads;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
/**
* User: NachoSoto
* Date: 9/27/13
*/
public class DownloadPriorityCalculator implements PriorityCalculator {
private final Set> mHandlers = new HashSet>();
public DownloadPriority getPriorityForObject(final V object) {
if (mHandlers.size() > 0) {
return Collections.max(Collections2.transform(mHandlers, new Function, DownloadPriority>() {
@Override
public DownloadPriority apply(final PriorityCalculator handler) {
return handler.getPriorityForObject(object);
}
}));
} else {
return DownloadPriority.UNKNOWN;
}
}
public void addHandler(final PriorityCalculator handler) {
mHandlers.add(handler);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy