![JAR search and dependency download from the Maven repository](/logo.png)
net.sf.javagimmicks.collections.transformer.BidiTransformingSet Maven / Gradle / Ivy
package net.sf.javagimmicks.collections.transformer;
import java.util.Set;
import net.sf.javagimmicks.transform.BidiTransformer;
import net.sf.javagimmicks.transform.BidiTransforming;
class BidiTransformingSet
extends TransformingSet
implements BidiTransforming
{
/**
* @deprecated Use TranformerUtils.decorate() instead
*/
@Deprecated
public BidiTransformingSet(Set set, BidiTransformer transformer)
{
super(set, transformer);
}
public BidiTransformer getBidiTransformer()
{
return (BidiTransformer)getTransformer();
}
@Override
public boolean add(T e)
{
return _internalSet.add(transformBack(e));
}
@SuppressWarnings("unchecked")
@Override
/**
* Try to transform back the value, because the internal
* {@link Set} might be faster performing this method.
*/
public boolean contains(Object o)
{
try
{
return _internalSet.contains(transformBack((T)o));
}
catch (ClassCastException e)
{
return super.contains(o);
}
}
@SuppressWarnings("unchecked")
@Override
/**
* Try to transform back the value, because the internal
* {@link Set} might be faster performing this method.
*/
public boolean remove(Object o)
{
try
{
return _internalSet.remove(transformBack((T)o));
}
catch (ClassCastException e)
{
return super.remove(o);
}
}
protected F transformBack(T element)
{
return getBidiTransformer().transformBack(element);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy