ArrayListIterator.as

Go to the documentation of this file.
00001 import gugga.collections.IIterator;
00002 import gugga.debug.Assertion;
00003 import gugga.collections.ArrayList;
00004 
00018 class gugga.collections.ArrayListIterator implements IIterator 
00019 {
00020         private var mArrayList : ArrayList;
00021         private var mCurrent : Number;
00022         private var mIsValid : Boolean;
00023         public function get IsValid() : Boolean { return mIsValid; }
00024         
00030         public function ArrayListIterator(aArrayList : ArrayList)
00031         {
00032                 mArrayList = aArrayList;
00033                 reset();
00034         }
00035         
00039         public function reset()  : Void
00040         {
00041                 mCurrent = -1;
00042                 mIsValid = false;       
00043         }
00044 
00048         public function iterate() : Boolean 
00049         {
00050                 mCurrent++;
00051                 
00052                 mIsValid = !(mArrayList[mCurrent] == null || mArrayList[mCurrent] == undefined);
00053                 
00054                 return mIsValid;
00055         }
00056 
00060         public function current() : Object 
00061         {
00062                 Assertion.failIfFalse(
00063                                 mIsValid, 
00064                                 "There is no valid value of the current item for index " + mCurrent, this, arguments);
00065                                 
00066                 return mArrayList[mCurrent];
00067         }
00068         
00072         public function get Current() : Object 
00073         {
00074                 return current();
00075         }
00076         
00080         public function clone () : IIterator
00081         {
00082                 return new ArrayListIterator(mArrayList.clone());
00083         }
00084 }

Generated on Fri May 11 17:12:42 2007 for GuggaFramework by  doxygen 1.5.2