/*****************************************************************************
* *
* This file is part of the tna framework distribution. *
* Documentation and updates may be get from biaoping.yin the author of *
* this framework *
* *
* Sun Public License Notice: *
* *
* The contents of this file are subject to the Sun Public License Version *
* 1.0 (the "License"); you may not use this file except in compliance with *
* the License. A copy of the License is available at http://www.sun.com *
* *
* The Original Code is tag. The Initial Developer of the Original *
* Code is biaoping yin. Portions created by biaoping yin are Copyright *
* (C) 2000. All Rights Reserved. *
* *
* GNU Public License Notice: *
* *
* Alternatively, the contents of this file may be used under the terms of *
* the GNU Lesser General Public License (the "LGPL"), in which case the *
* provisions of LGPL are applicable instead of those above. If you wish to *
* allow use of your version of this file only under the terms of the LGPL *
* and not to allow others to use your version of this file under the SPL, *
* indicate your decision by deleting the provisions above and replace *
* them with the notice and other provisions required by the LGPL. If you *
* do not delete the provisions above, a recipient may use your version of *
* this file under either the SPL or the LGPL. *
* *
* biaoping.yin (yin-bp@163.com) *
* Author of Learning Java *
* *
*****************************************************************************/
package com.frameworkset.common.tag.pager;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import com.frameworkset.common.tag.sort.ListSort;
/**
* 包装java.util.ArrayList类,限定只能容纳ClassData类型的对象
*
* 提供对所有的ClassData对象的排序功能
* @author biaoping.yin
* 2005-3-25
* version 1.0
*/
public class ClassDataList
{
ListSort sort = new ListSort();
/**
* 容纳ClassData对象的List */
public List theClassData = new ArrayList();
public ClassDataList()
{
//loca.createRegistry(1190);
}
/**
* @param classData
*/
public void add(ClassData classData)
{
theClassData.add(classData);
}
/**
* @param index - 获取一条记录
*/
public ClassData get(int index)
{
return (ClassData)theClassData.get(index);
}
/**
* @return int
*/
public int size()
{
return theClassData.size();
}
/**
* @return boolean
*/
public boolean isEmpty()
{
return theClassData.isEmpty();
}
/**
* @param arg0
* @return boolean
*/
public boolean contains(ClassData arg0)
{
return theClassData.contains(arg0);
}
/**
* @return Iterator
*/
public Iterator iterator()
{
return theClassData.iterator();
}
ClassData[] arrays = null;
/**
* @return Object[]
*/
public ClassData[] toArray()
{
if(arrays == null)
{
synchronized(arrays)
{
if(arrays != null)
return arrays;
ClassData[] ret = new ClassData[this.theClassData.size()];
for(int i = 0; i < ret.length; i ++)
{
ret[i] = (ClassData)theClassData.get(i);
}
arrays = ret;
}
}
return arrays;
}
/**
* @param arg0
* @return Object[]
*/
public ClassData[] toArray(Object[] arg0)
{
Object[] temp = theClassData.toArray(arg0);
ClassData[] ret = new ClassData[temp.length];
for(int i = 0; i < temp.length; i ++)
{
ret[i] = (ClassData)temp[i];
}
return ret;
}
/**
* @param arg0
* @return boolean
*/
public boolean remove(ClassData arg0)
{
return theClassData.remove(arg0);
}
/**
* @param arg0
* @return boolean
*/
public boolean containsAll(Collection arg0)
{
return theClassData.containsAll(arg0);
}
/**
* @param arg0
* @return boolean
*/
public boolean addAll(Collection arg0)
{
return theClassData.addAll(arg0);
}
/**
* @param arg0
* @param arg1
* @return boolean
*/
public boolean addAll(int arg0, Collection arg1)
{
return theClassData.addAll(arg0,arg1);
}
/**
* @param arg0
* @return boolean
*/
public boolean removeAll(Collection arg0)
{
return theClassData.removeAll(arg0);
}
/**
* @param arg0
* @return boolean
*/
public boolean retainAll(Collection arg0)
{
return theClassData.retainAll(arg0);
}
public void clear()
{
theClassData.clear();
}
/**
* @param arg0
* @return boolean
*/
public boolean equals(Object arg0)
{
return theClassData.equals(arg0);
}
/**
* @return int
*/
public int hashCode()
{
return theClassData.hashCode();
}
/**
* @param arg0
* @param arg1
*/
public void add(int arg0, ClassData arg1)
{
theClassData.add(arg0,arg1);
}
/**
* @param arg0
* @param arg1
* @return com.westerasoft.khcerp.tag.pager.ClassData
*/
public ClassData set(int arg0, ClassData arg1)
{
return (ClassData)theClassData.set(arg0,arg1);
}
/**
* @param arg0
* @return ClassObject
*/
public ClassData remove(int arg0)
{
return (ClassData)theClassData.remove(arg0);
}
/**
* @param arg0
* @return int
*/
public int indexOf(ClassData arg0)
{
return theClassData.indexOf(arg0);
}
/**
* @param arg0
* @return int
*/
public int lastIndexOf(ClassData arg0)
{
return theClassData.lastIndexOf(arg0);
}
/**
* @return java.util.ListIterator
*/
public ListIterator listIterator()
{
return theClassData.listIterator();
}
/**
* @param arg0
* @return java.util.ListIterator
*/
public ListIterator listIterator(int arg0)
{
return theClassData.listIterator(arg0);
}
/**
* @param arg0
* @param arg1
* @return List
*/
public List subList(int arg0, int arg1)
{
return theClassData.subList(arg0,arg1);
}
/**
* 对list中的对象排序,方法中创建ListSort的实例lsort,调用lsort.sort(list,sortKey,d
* esc)完成排序
* desc参数决定排序的秩序:
* true :降序
* false:升序
*
* sortKey参数:排序字段
*
* @param sortKey - 排序关键字
* @param desc
* @return void
*/
public void sortBy(String sortKey, boolean desc)
{
sort.sort(theClassData,sortKey,desc);
}
}