blob: 2868656c9c5c417f0685177f64c6b0359de7b294 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
namespace jive
{
public class FilteredVisitor<T> : Visitor<T>
{
readonly Specification<T> condition;
readonly Visitor<T> visitor;
public FilteredVisitor(Specification<T> condition, Visitor<T> visitor)
{
this.condition = condition;
this.visitor = visitor;
}
public void visit(T item_to_visit)
{
if (condition.is_satisfied_by(item_to_visit)) visitor.visit(item_to_visit);
}
}
}
|