import java.util.Set;
import java.util.Iterator;

/**
 * Adapts Java's existing Set interface to the IntSet interface.
 */
public class IntSetAdapter extends AbstractIntSet implements IntSet
{
    private Set<Integer> s;
    private int min;
    private int max;

    public IntSetAdapter(Set<Integer> s, int min, int max)
    {
	this.s = s;
	this.min = min;
	this.max = max;
    }


    public int getRangeMin()
    {
	return min;
    }
    
    public int getRangeMax()
    {
	return max;
    }
    
    public void add(int n)
    {
	if (n >= min && n <= max)
	    {
		s.add(n);
	    }
    }
    
    public void remove(int n)
    {
	s.remove(n);
    }
    
    public boolean contains(int n)
    {
	return s.contains(n);
    }

    public int size()
    {
	return s.size();
    }

    public Iterator<Integer> iterator()
    {
	return s.iterator();
    }
}
