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

Reply via email to