Subversion Repositories bacoAlunos

Rev

Rev 1070 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.utils;

import java.util.ArrayList;

/**
 * Created by jorgemachado on 16/11/15.
 */

public class DynamicArrayList<E> extends ArrayList<E>
{
    1.5.0/docs/api/java/lang/Class.html">Class referenceClass;
    public DynamicArrayList(1.5.0/docs/api/java/lang/Class.html">Class clazz)
    {
        this.referenceClass = clazz;
    }


    @1.5.0/docs/api/java/lang/Override.html">Override
    public E get(int i) {
        if(i >= size())
        {
            while(i >= size())
            {
                try {
                    super.add((E)referenceClass.newInstance());
                } catch (1.5.0/docs/api/java/lang/InstantiationException.html">InstantiationException e) {
                    e.printStackTrace();
                } catch (1.5.0/docs/api/java/lang/IllegalAccessException.html">IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
        return super.get(i);
    }

    @1.5.0/docs/api/java/lang/Override.html">Override
    public void add(int i, E obj) {
        if(i >= size())
        {
            while(i >= size())
            {
                try {
                    super.add((E)referenceClass.newInstance());
                } catch (1.5.0/docs/api/java/lang/InstantiationException.html">InstantiationException e) {
                    e.printStackTrace();
                } catch (1.5.0/docs/api/java/lang/IllegalAccessException.html">IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
        super.add(i,obj);
    }

    @1.5.0/docs/api/java/lang/Override.html">Override
    public E set(int i, E obj) {
        if(i >= size())
        {
            while(i >= size())
            {
                try {
                    super.add((E)referenceClass.newInstance());
                } catch (1.5.0/docs/api/java/lang/InstantiationException.html">InstantiationException e) {
                    e.printStackTrace();
                } catch (1.5.0/docs/api/java/lang/IllegalAccessException.html">IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
        return super.set(i,obj);
    }
}