package ContainerExample;

import FVisitor.FVisitor;


public class CombinedCheck extends FVisitor{
	final int weight, violations;
	CombinedCheck(int w, int viol){ weight = w; violations = viol; }
	CombinedCheck after(Element e, CombinedCheck vis){
		return new CombinedCheck(vis.weight + e.weight, vis.violations);
	}
	CombinedCheck after(Container c, CombinedCheck vis){
		int viol = vis.violations;
		if ((vis.weight-weight) > c.capacity)
			viol++;
		return new CombinedCheck(vis.weight, viol);
	}
}
