All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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