Если все фильтры отключены, они не учитываются.
This commit is contained in:
@@ -53,5 +53,8 @@ public abstract class DBObjectFilter<D extends DBObject> {
|
||||
public void Refresh() {
|
||||
menuItem.setText(description + " " + Utils.RBrackets(count));
|
||||
}
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
//--
|
||||
}
|
||||
|
||||
@@ -274,7 +274,6 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
filter.Refresh();
|
||||
}
|
||||
public boolean applyFilters(D object) {
|
||||
//todo добавить ситуацию когда все фильтры отменены
|
||||
for (DataSetFilter<D> filter : filters) {
|
||||
if (!filter.Validate(object))
|
||||
return false;
|
||||
|
||||
@@ -25,13 +25,6 @@ public abstract class DataSetFilter<D extends DBObject> {
|
||||
for (DBObjectFilter filter : filters)
|
||||
filter.setActive(flag);
|
||||
}
|
||||
public boolean Validate(D object) {
|
||||
boolean res = false;
|
||||
for (DBObjectFilter<D> filter : filters)
|
||||
if (filter.Validate(object))
|
||||
res |= true;
|
||||
return res;
|
||||
}
|
||||
public abstract void fill();
|
||||
public void Drop() {
|
||||
for (DBObjectFilter<D> filter : filters)
|
||||
@@ -41,4 +34,21 @@ public abstract class DataSetFilter<D extends DBObject> {
|
||||
for (DBObjectFilter<D> filter : filters)
|
||||
filter.Refresh();
|
||||
}
|
||||
public boolean isActive(){
|
||||
for (DBObjectFilter<D> filter: filters){
|
||||
if (filter.isActive())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public boolean Validate(D object) {
|
||||
if (!isActive()){
|
||||
return true;
|
||||
}
|
||||
boolean res = false;
|
||||
for (DBObjectFilter<D> filter : filters)
|
||||
if (filter.Validate(object))
|
||||
res |= true;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user