/* * AutoSizeArrayList.java * @Author Oleg Gorobets * Created: Jul 28, 2007 * CVS-ID: $Id: *************************************************************************/ package org.swfparser; import java.util.ArrayList; /** * Used for registers. * * @param <E> */ public class AutoSizeArrayList<E> extends ArrayList<E> { private static final long serialVersionUID = 2321132037643873672L; @Override public E set(int index, E element) { if (index>=size()) { int addNullItems = index - size(); for (int j=0;j<addNullItems;j++) { super.add(null); } super.add(element); return null; } else { return super.set(index, element); } } /* (non-Javadoc) * @see java.util.ArrayList#add(int, java.lang.Object) * * DO NOT shift elements, act like set() * */ @Override public void add(int index, E element) { set(index, element); } // @Override // public E get(int index) { // if (index>=size()) { // return null; // } else { // return super.get(index); // } // } }