Hello :)

You can use if you want my opensource framework and all this ADT (abstract
data type) :

In VEGAS you can find the package vegas.data.* with an ADT library based on
the JAVA Collections and the Jakarta Collections Framework.

Page of the project : http://code.google.com/p/vegas/
Install tutorial         :
http://code.google.com/p/vegas/wiki/InstallVEGASwithSVN

Example to use my ADT in AS2 in the SVN directory :
http://svn1.cvsdude.com/osflash/vegas/AS2/trunk/bin/test/vegas/data/

The documentation : http://vegas.ekameleon.net/ (see vegas.data package)

See the vegas.data.iterator and vegas.data.map packages ;)

EKA+ :)


2007/8/27, Andy Herrman <[EMAIL PROTECTED]>:
>
> Why not use a hashtable instead of an array?  Give your elements all
> unique IDs (you could even just do an incrementing integer).  A
> hashtable would give you faster lookup (don't have to iterate over the
> array searching for it) and you can remove hashtable entries without
> messing up any kind of ordering.
>
>   -Andy
>
> On 8/27/07, dr.ache <[EMAIL PROTECTED]> wrote:
> > hi.
> > dont delete the elements from your array.
> > when you call page.destroy() method generate another array in which you
> > push a "true",
> > whenever onElementKilled is called.Check also, if the array contains as
> > much elements
> > as your children array contains.
> > If true, delete the whole array with childs.
> >
> > possible?
> >
> > dr.ache
> >
> > Jiri Heitlager | dadata.org schrieb:
> > > Hello list,
> > >
> > > i have a page object that contains has a Array that holds
> > > pageElements. This is a storage for elements with an iPageElement
> > > interface.
> > > The page object has an destroy() method. When page.destroy() is
> > > called, it will loop trough the page.pageElements Array using an
> > > iterator. Every iPageElement broadcasts an onElementKilled message
> > > when is has been destroyed. When a pageElement broadcast this message,
> > > the page need to continue in deleting the next element in the
> > > page.pageElement Array.
> > > The callback method onElementKilled in the page instance, searches for
> > > the element that has been deleted and then removes it from the
> > > page.pageElements Array. This is where i think a problem rises,
> > > because if the page.pageElements array is updated during the process,
> > > the index does not match the element to remove anymore. How can I
> > > solve this potential risk?
> > >
> > > Another question, the array that is passes into the iterator is a
> > > reference to the pageElements Array. Does this mean, that if I delete
> > > an element from this array from within the iterator, the
> > > page.pageElements array is modified?
> > >
> > > I hope my question is clear..
> > >
> > > thank you in advance.
> > >
> > > Jiri
> > >
> > >
> > > Below a snippet:
> > >
> > >     private function getPageElementIterator() : Void
> > >     {
> > >         return new PageElementIterator(this.pageElements)
> > >     }
> > >
> > >     //initiated the deleting proces, by starting with the first
> element.
> > >     public function destroyPageElements() : Void
> > >     {
> > >         destroyElement(this.pageElements[0]);
> > >     }
> > >
> > >     private function destroyElement(element:iPageElement) : Void
> > >     {
> > >         curElement.addEventListener('onElementKilled' , this)
> > >         curElement.destroy();
> > >
> > >     }
> > >     private function onElementKilled(eventObj:Object) : Void
> > >     {
> > >         var killElement:iPageElement = eventObj.target;
> > >
> > >         var iter:PageElementIterator = this.getPageElementIterator();
> > >
> > >         while(iter.hasNext()){
> > >             var curElement:iPage = iPage (iter.next());
> > >
> > >             if(killElement == curElement) {
> > >
> > >                 //deleted the element now clear the listener and
> continue
> > >                 killElement.removeEventListener('onElementKilled' ,
> this)
> > >
> > >                 /*
> > >                 * POTENTIAL RISK, if a new element is added, then the
> > > index, does not match the right element anymore
> > >                 *
> > >                 * get the current index from the deleted element by
> > > checking what
> > >                 * the currentIndex of the iterator is, and remove it
> > > from this.pageElements Array
> > >                 */
> > >                 this.pageElements =
> > > this.pageElements.splice((iter.getCurrentIndex() , 0)
> > >
> > >                 //get the next element in the iterator array
> > >                 if(iter.hasNext()) this.destroyElement(
> > > iPage(iter.next()) );
> > >                 delete killedElement;
> > >                 break;
> > >             }
> > >         }
> > >         }
> > >         if(this.pageElements.length == 0){
> > >             trace('all page elements have been removed')
> > >         }
> > >     }
> > >
> > > _______________________________________________
> > > Flashcoders@chattyfig.figleaf.com
> > > To change your subscription options or search the archive:
> > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >
> > > Brought to you by Fig Leaf Software
> > > Premier Authorized Adobe Consulting and Training
> > > http://www.figleaf.com
> > > http://training.figleaf.com
> > >
> >
> > _______________________________________________
> > Flashcoders@chattyfig.figleaf.com
> > To change your subscription options or search the archive:
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> > Brought to you by Fig Leaf Software
> > Premier Authorized Adobe Consulting and Training
> > http://www.figleaf.com
> > http://training.figleaf.com
> >
> _______________________________________________
> Flashcoders@chattyfig.figleaf.com
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> Brought to you by Fig Leaf Software
> Premier Authorized Adobe Consulting and Training
> http://www.figleaf.com
> http://training.figleaf.com
>
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to