package visual.statik.sampled;

import java.awt.*;
import java.awt.image.*;
import java.util.Iterator;


/**
 * A simple collection of Content objects
 *
 * This class is less flexible than the CompositeContent class
 * but is simpler for some purposes.
 *
 * @author  Prof. David Bernstein, James Madison University
 * @version 1.0
 */
public class      AggregateContent 
       extends    visual.statik.AbstractAggregateContent<Content>
       implements TransformableContent
{
    /**
     * Default Constructor
     */
    public AggregateContent()
    {
       super();       
    }


    /**
     * Set the BufferedImageOp to use when transforming
     * the Image
     *
     * @param op   The BufferedImageOp
     */
    public void setBufferedImageOp(BufferedImageOp op)
    {
       Iterator<Content>  i;
       
       i = iterator();
       while (i.hasNext())
       {
          i.next().setBufferedImageOp(op);          
       }
    }
    
    /**
     * Set the transparency/Composite to use 
     * for the LAST Content object
     *
     * @param c   The Composite
     */
    public void setComposite(Composite c)
    {
       Content     content;
       
       content = components.getLast();
       content.setComposite(c);          
    }
}
