package org.geotools.data.aggregate; import java.util.Set; import org.geotools.filter.visitor.DuplicatingFilterVisitor; import org.opengis.filter.expression.PropertyName; /** * Replaces all missing properties references with a null literal * * @author Andrea Aime * * * @source $URL$ */ public class MissingPropertiesEraser extends DuplicatingFilterVisitor { Set<String> properties; public MissingPropertiesEraser(Set<String> properties) { this.properties = properties; } @Override public Object visit(PropertyName expression, Object extraData) { if (properties.contains(expression.getPropertyName())) { return super.visit(expression, extraData); } else { return ff.literal(null); } } }