/* * Created on 5.7.2004 */ package is.idega.idegaweb.golf.startingtime.business; import is.idega.idegaweb.golf.GolfField; import java.util.List; import com.idega.business.IBOSessionBean; import com.idega.util.IWTimestamp; /** * Title: TeetimeSearchResult * Description: * Copyright: Copyright (c) 2004 * Company: idega Software * @author 2004 - idega team - <br><a href="mailto:gummi@idega.is">Gudmundur Agust Saemundsson</a><br> * @version 1.0 */ public class TeetimeSearchResultBean extends IBOSessionBean implements TeetimeSearchResult{ private List result = null; private GolfField info = null; private IWTimestamp date = null; private IWTimestamp firstTime = null; private IWTimestamp lastTime = null; private int numberOfPlayers = 1; private int sublistSize = 100; private int index = 0; /** * */ public TeetimeSearchResultBean() { super(); } public void setSublistSize(int size){ if(size>1){ sublistSize = size; } else { sublistSize=1; } } public void cachResult(List result, GolfField info,IWTimestamp date,IWTimestamp firstTime,IWTimestamp lastTime,int numberOfPlayers){ this.result = result; this.info = info; this.date = date; this.firstTime = firstTime; this.lastTime = lastTime; this.numberOfPlayers = numberOfPlayers; index = -sublistSize; } public void throwCach(){ result = null; info = null; date = null; index = 0; } public List next(){ index += sublistSize; return current(); } public List current(){ if(index < 0){ index=0; } return result.subList(index,Math.min((index+sublistSize),result.size())); } public List prev(){ index -= (sublistSize); return current(); } public int getResultSize(){ if(result == null){ return 0; } else { return result.size(); } } public GolfField getFieldInfo(){ return info; } public IWTimestamp getDate(){ return date; } public IWTimestamp getFirstTime(){ return firstTime; } public IWTimestamp getLastTime(){ return lastTime; } public int getNumberOfPlayers(){ return numberOfPlayers; } public boolean isInitialized(){ return (result != null)&&(info != null)&&(date != null); } public boolean hasNext(){ return getResultSize() > (index+sublistSize); } public boolean hasPrevious(){ return index > 0; } }