package net.techreadiness.ui.action.filters;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public abstract class AbstractCheckboxSelectionHandler extends AbstractConversationFilterSelectionHandler<Boolean> {
public abstract String getFilterName();
public abstract String getDataGridName();
@Override
public List<Boolean> getList(Map<String, Object> parameters) {
return null;
}
@Override
public List<Boolean> getSelection() {
if (getFilterValues().isEmpty()) {
return Collections.emptyList();
}
return Collections.singletonList(Boolean.TRUE);
}
private Collection<String> getFilterValues() {
return getDataGridState(getDataGridName()).getFilters().get(getFilterName());
}
@Override
public void add(Long id) {
getFilterValues().clear();
if (id.equals(1L)) {
getFilterValues().add("true");
}
}
@Override
public void remove(Long id) {
getFilterValues().clear();
}
@Override
public void clear() {
getFilterValues().clear();
}
}