package com.boardgamegeek.filterer;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import timber.log.Timber;
public class CollectionFiltererFactory {
public static final int TYPE_UNKNOWN = -1;
private final List<CollectionFilterer> filterers;
public CollectionFiltererFactory(@NonNull Context context) {
filterers = new ArrayList<>();
filterers.add(new CollectionStatusFilterer(context));
filterers.add(new CollectionNameFilter(context));
filterers.add(new PlayerNumberFilterer(context));
filterers.add(new PlayTimeFilterer(context));
filterers.add(new SuggestedAgeFilterer(context));
filterers.add(new AverageWeightFilterer(context));
filterers.add(new YearPublishedFilterer(context));
filterers.add(new AverageRatingFilterer(context));
filterers.add(new GeekRatingFilterer(context));
filterers.add(new GeekRankingFilterer(context));
filterers.add(new ExpansionStatusFilterer(context));
filterers.add(new PlayCountFilterer(context));
filterers.add(new MyRatingFilterer(context));
}
@Nullable
public CollectionFilterer create(int type) {
Timber.d("Finding filter " + type);
for (CollectionFilterer filterer : filterers) {
if (filterer.getType() == type) {
return filterer;
}
}
Timber.w("Found no filter!");
return null;
}
}