package edu.berkeley.nlp.util;
import java.util.AbstractSet;
import java.util.Iterator;
import java.util.Set;
public class TransformingSet<K, O> extends AbstractSet<O>
{
private Set<K> baseSet;
private MyMethod<K, O> transform;
/**
* @param baseSet
*/
public TransformingSet(Set<K> baseSet, MyMethod<K, O> transform)
{
super();
this.baseSet = baseSet;
this.transform = transform;
}
@Override
public Iterator<O> iterator()
{
return new Iterators.TransformingIterator<K, O>(baseSet.iterator(), transform);
}
@Override
public int size()
{
return baseSet.size();
}
}