package com.framsticks.util.lang; import java.util.Collection; import java.util.Iterator; import java.util.List; import org.apache.commons.collections.functors.InstanceofPredicate; import org.apache.commons.collections.iterators.FilterIterator; /** * @author Piotr Sniegowski */ public abstract class Containers { public static void resizeList(List list, int size) { while (list.size() < size) { list.add(null); } while (list.size() > size) { list.remove(list.size() - 1); } } @SuppressWarnings("unchecked") public static Iterable filterInstanceof(Iterator i, Class type) { return new IterableIterator(new FilterIterator(i, new InstanceofPredicate(type))); } @SuppressWarnings("unchecked") public static Iterable filterInstanceof(Iterable i, Class type) { return new IterableIterator(new FilterIterator(i.iterator(), new InstanceofPredicate(type))); } @SuppressWarnings("unchecked") public static Iterable filterInstanceof(Collection c, Class type) { return new IterableIterator(new FilterIterator(c.iterator(), new InstanceofPredicate(type))); } // @SuppressWarnings("unchecked") // public static Iterable filterNotInstanceof(Collection c, Class type) { // return new IterableIterator(new FilterIterator(c.iterator(), new NotPredicate(new InstanceofPredicate(type)))); // } }