FILTER event hooks
Filters will help you build customized permission schemes. They are called for both LIST and ITEM commands.
@Override
protected boolean dataFilterActive() {
return true;
}
@Override
protected void dataFilterHandler(StringBuilder sql) {
sql.append(" AND something");
}
In some cases you only want the filter to trigger for either LIST or ITEM commands
itemFilterActive() {}
itemFilterHandler(StringBuilder sql) { return sql; }
listFilterActive() {}
listFilterHandler(StringBuilder sql) { return sql; }
Examples
The xxxFilterActive tells if the filter is active
boolean dataFilterActive() { return !s.isAdministor(); }
The xxxFilterHandler modifies the SQL used to fetch data
void dataFilterHandler(StringBuilder sql) { sql.append(" AND CATEGORY NOT IN (123,456,789)"); }