main
 1using gorilla.commons.utility;
 2
 3namespace MoMoney.Presentation.Model.Excel
 4{
 5    public class ConstrainedCellVisitor : ICellVisitor
 6    {
 7        readonly ICellVisitor cell_visitor;
 8        readonly Specification<ICell> constraint;
 9
10        public ConstrainedCellVisitor(ICellVisitor cell_visitor, Specification<ICell> constraint)
11        {
12            this.cell_visitor = cell_visitor;
13            this.constraint = constraint;
14        }
15
16        public void visit(ICell cell)
17        {
18            if (constraint.is_satisfied_by(cell)) cell_visitor.visit(cell);
19        }
20    }
21}