/**
* Licensed under the Artistic License; you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://displaytag.sourceforge.net/license.html
*
* THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
package org.displaytag.sample;
import java.util.ArrayList;
import java.util.Random;
/**
* Just a utility class for testing out the table and column tags. When this class is created, it loads itself with a
* number of ListObjects that are shown throughout the various example pages that exercise the table object. If created
* via the default constructor, this loads itself with 60 ListObjects.
* @author epesh
* @author Fabrizio Giustina
* @version $Revision$ ($Author$)
*/
public class TestList extends ArrayList
{
/**
* D1597A17A6.
*/
private static final long serialVersionUID = 899149338534L;
/**
* Creats a TestList that is filled with 60 ListObjects suitable for testing.
*/
public TestList()
{
super();
for (int j = 0; j < 60; j++)
{
add(new ListObject());
}
}
/**
* Creates a TestList that is filled with [size] ListObjects suitable for testing.
* @param size int size of the list
* @param duplicates boolean put duplicates in the list
*/
public TestList(int size, boolean duplicates)
{
if (duplicates)
{
// generate a random number between 1 and 3 and duplicate that many number of times.
for (int j = 0; j < size; j++)
{
ListObject object1 = new ListObject();
ListObject object2 = new ListObject();
ListObject object3 = new ListObject();
int random = new Random().nextInt(3);
for (int k = 0; k <= random; k++)
{
add(object1);
}
object1.setId(object2.getId());
random = new Random().nextInt(3);
for (int k = 0; k <= random; k++)
{
add(object1);
add(object2);
}
object1.setEmail(object3.getEmail());
random = new java.util.Random().nextInt(3);
for (int k = 0; k <= random; k++)
{
add(object1);
}
}
}
else
{
for (int j = 0; j < size; j++)
{
add(new ListObject());
}
}
}
/**
* Returns a ListObject using get(index) from the Array.
* @param index int index of the List object into the array
* @return ListObject
*/
public ListObject getItem(int index)
{
return (ListObject) super.get(index);
}
}