package jpaoletti.jpm.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class EntityFilter extends PMCoreObject {
private FilterBehavior behavior;
private Map<String, FilterOperation> filterOperations;
private Map<String, List<Object>> filterValues;
/**
* Default constructor
*/
public EntityFilter() {
behavior = FilterBehavior.AND;
filterOperations = new HashMap<String, FilterOperation>();
filterValues = new HashMap<String, List<Object>>();
}
public boolean isOperation(String fid, FilterOperation oper) {
return getFilterOperations().get(fid) == oper;
}
public void process(Entity entity) {
}
public void clear() {
}
public void addFilter(String fieldId, List<Object> values, FilterOperation operation) {
filterOperations.put(fieldId, operation);
filterValues.put(fieldId, values);
}
public void addFilter(String fieldId, Object value, FilterOperation operation) {
filterOperations.put(fieldId, operation);
final List<Object> values = new ArrayList<Object>();
values.add(value);
filterValues.put(fieldId, values);
}
public Map<String, FilterOperation> getFilterOperations() {
return filterOperations;
}
public Map<String, List<Object>> getFilterValues() {
return filterValues;
}
public void setFilterOperations(Map<String, FilterOperation> filterOperations) {
this.filterOperations = filterOperations;
}
public FilterOperation getFilterOperation(String id) {
final FilterOperation result = getFilterOperations().get(id);
if (result != null) {
return result;
} else {
return FilterOperation.LIKE;
}
}
public FilterBehavior getBehavior() {
return behavior;
}
public void setBehavior(FilterBehavior behavior) {
this.behavior = behavior;
}
}