CompositePropertyFilter.java
package com.alibaba.fastjson2.filter;
import java.util.ArrayList;
import java.util.List;
final class CompositePropertyFilter
implements PropertyFilter {
private final List<PropertyFilter> filters = new ArrayList<>();
public CompositePropertyFilter(PropertyFilter... filters) {
for (PropertyFilter filter : filters) {
if (filter != null) {
this.filters.add(filter);
}
}
}
public void add(PropertyFilter filter) {
if (filter != null) {
this.filters.add(filter);
}
}
@Override
public boolean apply(Object object, String name, Object value) {
for (PropertyFilter filter : filters) {
if (!filter.apply(object, name, value)) {
return false;
}
}
return true;
}
}