import EDU.neu.ccs.demeter.dj.Visitor;

public class CheckingVisitor extends Visitor
{
	int total;

	public void start() { System.out.println("begin"); total=0;}
	public void finish() { System.out.println("end"); }


	public void before(Container o)
        {
		o.initial=total;
	}

	public void after(Container o)
        {
		int diff=total-o.initial;
		if(diff > o.capacity)
		{
			System.out.print("total weight ");
			System.out.print(diff);
			System.out.print(" but limit is = ");
			System.out.print(o.capacity);
			System.out.println(" OVER CAPACITY");
		}
	}

	public void before(Weight o)
	{
		total+=o.val;
	}

}

