1 21 22 package org.opensubsystems.patterns.listdata.util; 23 24 import java.util.Iterator ; 25 import java.util.List ; 26 27 import org.opensubsystems.core.data.DataObject; 28 29 40 public abstract class AsyncDataLoaderRunnable implements Runnable 41 { 42 44 49 protected int m_iOriginalObjectVersion; 50 51 54 protected List m_lstData; 55 56 58 67 public AsyncDataLoaderRunnable( 68 List lstData, 69 int iOriginalObjectVersion 70 ) 71 { 72 m_lstData = lstData; 73 m_iOriginalObjectVersion = iOriginalObjectVersion; 74 } 75 76 78 81 public final void run() 82 { 83 Iterator items; 84 DataObject tempData; 85 86 for (items = m_lstData.iterator(); 87 items.hasNext() 88 && (m_iOriginalObjectVersion == getCurrentObjectVersion());) 89 { 90 tempData = (DataObject)items.next(); 91 processItem(tempData); 92 } 93 } 94 95 97 105 protected abstract void processItem( 106 final DataObject dataToProcess 107 ); 108 109 117 protected abstract int getCurrentObjectVersion( 118 ); 119 } 120 | Popular Tags |