Yeah, I've been using a similar strategy with Struts, so it would be nice if I could just rely on standard classes to do it. Could you post the source code to the list? (Or at least a URL where it can be viewed?)
I'm not a committer, but I'm sure they'd ask the same thing! ;-) Thanks! -- Tim Moore / Blackboard Inc. / Software Engineer 1899 L Street, NW / 5th Floor / Washington, DC 20036 Phone 202-463-4860 ext. 258 / Fax 202-463-4863 > -----Original Message----- > From: Arron Bates [mailto:[EMAIL PROTECTED]] > Sent: Friday, May 17, 2002 4:42 AM > To: Commons Developers List > Subject: [collections] - Few more collections for the > masses... (important for Struts view objects, maybe other projects) > > > Peoples, > > Have a couple of handy collections ready to fly, built and tested.. I > couldn't find duplicate functionality in those already there, but you > guys are the better judge of that. > > --- > Problem (if you want the reason for their existence)... > Struts (maybe you've heard of it) has this neato ability to create a > requested bean for an action when it comes in from the > request from the > browser. Populates the top level bean really well. It will > also populate > any other object you put in its path. Great for most things. But... > along comes nesting which allows for some wild data > structures, and it's > hard to assume their form when they come in, so this place > holder thing > gets a lot trickier. Add to this the fact you can now do funky trees, > and it all goes to hell. > > Easily solved with a server with at least gig of ram (virtual ram?) > because you can just leave it all in the session. Some people > don't take > it all that well when I tell them this. Stroppy sods. So... > > --- > Solution (what the collections are)... > If the collections of objects and such could be constructed > and set no > matter what index or mapping they're built against, it would > all work. > This is what the collections do. Build objects and put them > at whatever > spot is asked for. Pass the bean's class (argument details > optional) to > the constructor, and it will build said object if need be. > For the map, > if n object is requested for a key that's not there, it will > create the > object, store it at the key and return the object. Sweet. > > List does much the same thing, but with a couple of issues. > If an object > for an index is requested, the collection makes place-holders out to > that index, creates and sets the new object. If more objects > are set at > lesser ones, then it swaps the place-holder for the new object. This > potentially leaves place-holders in our collection. In the Struts use > case, all things being equal, all the positions should fill > up. But if > they're not, then there's a "clean()" method provided to rip > out all of > the bad place-holders leaving a clean collection, ready to play. > > They're proxies, so you pass them your concrete java.util.Map, or > java.util.List implementation in the constructor, and they'll > proxy in > and out of that. > > ---- > If everyone thinks they're cool, as I said they're ready to > go. Except I'm without the kudos to commit them to the > commons CVS. I'd add > them to Struts, but people get mad, red tape, have to take out the > trash, you know the deal. > > So either a committer who wants to support them commit them, > or vote me > into the tribe (my preference :) I am a nice guy though. really). > > > Arron. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
