P.S. It's ~almost~ working!! On 3/27/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > Heh..Just tired of waiting. I think for things like this I'm going to have > to be on my own until someone catches something naughty going on. Everyone > is very busy :) > > > On 3/27/06, Brian K. Wallace <[EMAIL PROTECTED]> wrote: > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > lol - throw a good evening's worth out to ponder then full steam ahead > > while musings still churn. :-) > > > > > > Jesse Kuhnert wrote: > > > I hope an hour was enough time to react because I've already started. > > :) I > > > don't mind throwing the code out if problems are found, it's just > > killing me > > > not having ~something~ working... > > > > > > > > > > > > On 3/27/06, Jesse Kuhnert < [EMAIL PROTECTED]> wrote: > > >> I would like to preface this with saying that as far as I'm concerned > > this > > >> is only the result of various ideas howard's casually been floating > > around > > >> on the list. Maybe I've inferred and done it slightly differently > > than he > > >> originally meant, but I'm also hoping he'll jump in and help me > > describe wtf > > >> I'm trying to say in case it's not clear. > > >> > > >> What I need is a way to genericize the interface that requires > > passing in > > >> IMarkupWriter/IRequestCycle at certain points. > > >> > > >> Luckily for us if we float up the interface chain the IRender > > interface > > >> semantics were left somewhat closed up to the general public. Though > > I can > > >> see a fair amount of references using it internally to tapestry I'm > > hoping > > >> that the public at large has stuck to IComponent.renderComponent() to > > do > > >> most of their logic. (fingers crossed) > > >> > > >> What I want to do isn't overly complicated. I want to make IRender a > > >> little bit more private and internal to tapestry, and expose a > > new/different > > >> interface. I ~can~ get what I want if I were to change IRender to > > look more > > >> like this: > > >> > > >> public interface IRender > > >> { > > >> /** > > >> * The principal rendering/rewinding method. This will cause > > >> * the receiving component to render its top level elements > > (HTML > > >> * text and components). > > >> * > > >> * <p>Renderring and rewinding are the exact same process. The > > >> * same code that renders must be able to restore state by going > > > > >> * through the exact same operations (even though the output is > > >> * discarded). > > >> * > > >> **/ > > >> > > >> void render(ResponseBuilder builder, IRequestCycle cycle); > > >> } > > >> > > >> This is still more or less the same thing, only ResponseBuilder > > contains > > >> the IMarkupWriter instance. It will of course pass IMarkupWriter (or > > another > > >> writer instance for other things, if relevant) into the right > > components at > > >> the right places. (still calling renderComponent(), as per normal ) > > >> > > >> So now, instead of calling IRender.render(), you call it with a > > >> ResponseBuilder, and he sort of takes over from there. This is what I > > need > > >> in order to support multiple Markup type interfaces/ajax/json without > > >> breaking backwards compatibility. Here is what the ResponseBuilder > > interface > > >> currently looks like: > > >> > > >> /** > > >> * Renders the response to a client. Handles transitioning logic > > >> * for setting up page and associated components for response. > > >> * > > >> * @param cycle > > >> * The main request cycle object for this request. > > >> */ > > >> void renderResponse(IRequestCycle cycle); > > >> > > >> I'm hoping if the changes being proposed are ok'd a new method will > > be > > >> added into the chain: > > >> > > >> void render(IRender render, IRequestCycle cycle); > > >> > > >> I think you can see where I'm going with this quite clearly with the > > >> method above added in. > > >> > > >> Everything is in place for me to do it, but I really want to make > > sure > > >> this is ok before I move forward as it's quite a large change. > > >> > > >> -- > > >> Jesse Kuhnert > > >> Tacos/Tapestry, team member/developer > > >> > > >> Open source based consulting work centered around > > >> dojo/tapestry/tacos/hivemind. http://opennotion.com > > >> > > > > > > > > > > > > -- > > > Jesse Kuhnert > > > Tacos/Tapestry, team member/developer > > > > > > Open source based consulting work centered around > > > dojo/tapestry/tacos/hivemind. http://opennotion.com > > > > > > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.2.5 (MingW32) > > > > iD8DBQFEKLBCaCoPKRow/gARApksAJ9VD1J4Z2oj/Pivb0ryDj0TAqMo+QCdGVdW > > pBbFvuEG3ywOZHEqeZ5bjg0= > > =InDo > > -----END PGP SIGNATURE----- > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > > Jesse Kuhnert > Tacos/Tapestry, team member/developer > > Open source based consulting work centered around > dojo/tapestry/tacos/hivemind. http://opennotion.com >
-- Jesse Kuhnert Tacos/Tapestry, team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://opennotion.com