package topasin.filter;
import java.util.List;
import java.util.Map;
import topasin.util.TopAsinContext;
/**
* create filter instance based on config
*
* @author mengzang
*
*/
public class AsinDetailFilterFactory {
private static final int NO_FILTER = -1;
private static final int AsinFields_Filter = 0;
private static int filterType = -1;
public static void init(Map<String, Object> rtOptions) {
String filterName = (String) rtOptions.get(TopAsinContext.FILTER_NAME);
@SuppressWarnings("unchecked")
Map<String, List<String>> settings = (Map<String, List<String>>) rtOptions.get(TopAsinContext.FILTER_SETTING);
if ("IogGlFilter".equalsIgnoreCase(filterName) || "AsinFieldsFilter".equalsIgnoreCase(filterName)) {
filterType = AsinFields_Filter;
AsinFieldsFilter.initAsinFieldValueFilter(settings);
} else {
filterType = NO_FILTER;
}
}
public static AsinDetailFilter getFilter() {
switch (filterType) {
case NO_FILTER:
return null;
case AsinFields_Filter:
return AsinFieldsFilter.getInstance();
default:
return null;
}
}
}