net.sf.javagimmicks.collections.transformer.MappedTransformerUtils Maven / Gradle / Ivy
package net.sf.javagimmicks.collections.transformer;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.NavigableMap;
import java.util.NavigableSet;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import net.sf.javagimmicks.collections.bidimap.BidiMap;
public class MappedTransformerUtils
{
private MappedTransformerUtils() {}
public static Transformer asTransformer(final Map map)
{
return new MapTransformer(map);
}
public static BidiTransformer asBidiTransformer(BidiMap bidiMap)
{
return new BidiMapBidiTransformer(bidiMap);
}
public static Comparator super T> map(Comparator super F> comparator, Map map)
{
return TransformerUtils.decorate(comparator, asTransformer(map));
}
public static Iterator map(Iterator base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static Collection map(Collection base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static Collection map(Collection base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static Set map(Set base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static Set map(Set base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static SortedSet map(SortedSet base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static SortedSet map(SortedSet base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static NavigableSet map(NavigableSet base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static NavigableSet map(NavigableSet base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static ListIterator map(ListIterator base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static ListIterator map(ListIterator base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static List map(List base, Map map)
{
return TransformerUtils.decorate(base, asTransformer(map));
}
public static List map(List base, BidiMap map)
{
return TransformerUtils.decorate(base, asBidiTransformer(map));
}
public static Map mapKeyBased(Map base, Map map)
{
return TransformerUtils.decorateKeyBased(base, asTransformer(map));
}
public static Map mapKeyBased(Map base, BidiMap map)
{
return TransformerUtils.decorateKeyBased(base, asBidiTransformer(map));
}
public static Map mapValueBased(Map base, Map map)
{
return TransformerUtils.decorateValueBased(base, asTransformer(map));
}
public static Map mapValueBased(Map base, BidiMap map)
{
return TransformerUtils.decorateValueBased(base, asBidiTransformer(map));
}
public static Map map(Map base, Map keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asTransformer(valueMap));
}
public static Map map(Map base, BidiMap keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asTransformer(valueMap));
}
public static Map map(Map base, Map keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asBidiTransformer(valueMap));
}
public static Map map(Map base, BidiMap keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asBidiTransformer(valueMap));
}
public static SortedMap mapKeyBased(SortedMap base, Map map)
{
return TransformerUtils.decorateKeyBased(base, asTransformer(map));
}
public static SortedMap mapKeyBased(SortedMap base, BidiMap map)
{
return TransformerUtils.decorateKeyBased(base, asBidiTransformer(map));
}
public static SortedMap mapValueBased(SortedMap base, Map map)
{
return TransformerUtils.decorateValueBased(base, asTransformer(map));
}
public static SortedMap mapValueBased(SortedMap base, BidiMap map)
{
return TransformerUtils.decorateValueBased(base, asBidiTransformer(map));
}
public static SortedMap map(SortedMap base, Map keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asTransformer(valueMap));
}
public static SortedMap map(SortedMap base, BidiMap keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asTransformer(valueMap));
}
public static SortedMap map(SortedMap base, Map keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asBidiTransformer(valueMap));
}
public static SortedMap map(SortedMap base, BidiMap keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asBidiTransformer(valueMap));
}
public static NavigableMap mapKeyBased(NavigableMap base, Map map)
{
return TransformerUtils.decorateKeyBased(base, asTransformer(map));
}
public static NavigableMap mapKeyBased(NavigableMap base, BidiMap map)
{
return TransformerUtils.decorateKeyBased(base, asBidiTransformer(map));
}
public static NavigableMap mapValueBased(NavigableMap base, Map map)
{
return TransformerUtils.decorateValueBased(base, asTransformer(map));
}
public static NavigableMap mapValueBased(NavigableMap base, BidiMap map)
{
return TransformerUtils.decorateValueBased(base, asBidiTransformer(map));
}
public static NavigableMap map(NavigableMap base, Map keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asTransformer(valueMap));
}
public static NavigableMap map(NavigableMap base, BidiMap keyMap, Map valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asTransformer(valueMap));
}
public static NavigableMap map(NavigableMap base, Map keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asTransformer(keyMap), asBidiTransformer(valueMap));
}
public static NavigableMap map(NavigableMap base, BidiMap keyMap, BidiMap valueMap)
{
return TransformerUtils.decorate(base, asBidiTransformer(keyMap), asBidiTransformer(valueMap));
}
protected static class MapTransformer implements Transformer
{
protected final Map _baseMap;
protected MapTransformer(Map map)
{
_baseMap = map;
}
public T transform(F source)
{
return _baseMap.get(source);
}
}
protected static class BidiMapBidiTransformer extends MapTransformer implements BidiTransformer
{
protected BidiMapBidiTransformer(BidiMap map)
{
super(map);
}
public BidiTransformer invert()
{
return TransformerUtils.invert(this);
}
public F transformBack(T source)
{
return ((BidiMap)_baseMap).inverseBidiMap().get(source);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy