import java.lang.System;
import EDU.neu.ccs.demeter.dj.*;

public class Container extends Item
{
	Container(Item[] contents, int capacity)
	{
		this.contents=contents;
		this.capacity=capacity;
	}

        public Item[] contents;//must be public
	int capacity;

	int capacityCheck(TraversalGraph tg)
	{
		SummingVisitor sv=new SummingVisitor();
		DifferenceVisitor dv=new DifferenceVisitor(sv);
		CheckingVisitor cv=new CheckingVisitor(dv);

		Visitor[] vs=new Visitor[3];
		vs[0]=sv;
		vs[1]=dv;
		vs[2]=cv;
		
		tg.traverse(this,vs);
		
		return cv.getViolations();
		
	}
}
