I know that Igor. In fact, I wasn't thinking really about performance here.
I suggested the annotation because sounds more objective than throwing an
exception. Exceptions are for errors or invalidations. Redirection is a flow
control. No error in that.

But,  anyway... it was an idea... Ideas are born to be killed or to grow up.
:-)

[]'s
--
Bruno Borges
blog.brunoborges.com.br
+55 21 76727099

"The glory of great men should always be
measured by the means they have used to
acquire it."
- Francois de La Rochefoucauld

On Mon, Jun 30, 2008 at 4:07 PM, Igor Vaynberg <[EMAIL PROTECTED]>
wrote:

> On Mon, Jun 30, 2008 at 11:59 AM, Bruno Borges <[EMAIL PROTECTED]>
> wrote:
> > I have an idea that sounds crazy,  but imho,  is better then throwing an
> > exception (stack trace is a little bit expensive to the VM).
>
> right, because we dont care about performance :)
>
> /**
>  * Immediately aborts any further processing.
>  *
>  * @author Igor Vaynberg (ivaynberg)
>  */
> public class AbortException extends RuntimeException
> {
>        private static final long serialVersionUID = 1L;
>
>        /**
>         * @see java.lang.Throwable#fillInStackTrace()
>         */
>        public synchronized Throwable fillInStackTrace()
>        {
>                // we do not need a stack trace, so to speed things up just
> return null
>                return null;
>        }
>
> }
>
>
> -igor
>
>
>
>
> >
> > Here  it goes:
> >
> > public class MyPage extends WebPage {
> >  @Redirect(MyPageRedirector.class)
> >  public MyPage() {
> >    add(new Label("label", "Foo"));
> >  }
> >
> >  public static class MyPageRedirector implements IRedirectPage {
> >    public void redirect(Object ... args) {
> >      // args is an array of objects that might be passed as arguments to
> > MyPage annotated constructor, if it has arguments
> >      if (args[0].equals("success")) {
> >        RequestCycle.get().setResponsePage(AnotherPage.class);
> >      }
> >    }
> >  }
> > }
> >
> > The concept here is to define a class that implements  IRedirectPage and
> > annotate the constructor which must check something if it intents to
> > redirect to another page. IMHO,  this is a nice feature as it sounds more
> > elegant than throwing an exception and saves a lot of object creation
> time.
> >
> > Any thoughts?
> >
> > []'s
> >
> > --
> > Bruno Borges
> > blog.brunoborges.com.br
> > +55 21 76727099
> >
> > "The glory of great men should always be
> > measured by the means they have used to
> > acquire it."
> > - Francois de La Rochefoucauld
> >
> > On Mon, Jun 30, 2008 at 12:23 PM, Igor Vaynberg <[EMAIL PROTECTED]
> >
> > wrote:
> >
> >> does it work?
> >>
> >> -igor
> >>
> >> On Mon, Jun 30, 2008 at 2:28 AM, Eyal Golan <[EMAIL PROTECTED]> wrote:
> >> > OK.
> >> > That is what I did.
> >> > So, if a instantiate a page and then put it as a parameter in the
> >> exception,
> >> > I am fine?
> >> > ...
> >> > TicketTreeQueuePage ticketTreeQueuePage = new
> >> > TicketTreeQueuePage(pageParameters);
> >> > throw new
> RestartResponseAtInterceptPageException(ticketTreeQueuePage);
> >> >
> >> >
> >> > Thanks
> >> >
> >> >
> >> > On Wed, Jun 25, 2008 at 5:11 PM, Igor Vaynberg <
> [EMAIL PROTECTED]>
> >> > wrote:
> >> >
> >> >> use restartresponseexception instead
> >> >>
> >> >> -igor
> >> >>
> >> >> On Wed, Jun 25, 2008 at 5:36 AM, Eyal Golan <[EMAIL PROTECTED]>
> wrote:
> >> >> > Hi,
> >> >> > After reviewing some discussion regarding the issue.
> >> >> > http://issues.apache.org/jira/browse/WICKET-696
> >> >> >
> >> >> > and
> >> >> >
> >> >>
> >>
> http://www.mail-archive.com/[EMAIL PROTECTED]/msg30288.html
> >> >> >
> >> >> > What is the conclusion?
> >> >> > Is the original page being mapped or no?
> >> >> >
> >> >> > thanks
> >> >> >
> >> >> > --
> >> >> > Eyal Golan
> >> >> > [EMAIL PROTECTED]
> >> >> >
> >> >> > Visit: http://jvdrums.sourceforge.net/
> >> >> > LinkedIn: http://www.linkedin.com/in/egolan74
> >> >> >
> >> >> > P Save a tree. Please don't print this e-mail unless it's really
> >> >> necessary
> >> >> >
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > Eyal Golan
> >> > [EMAIL PROTECTED]
> >> >
> >> > Visit: http://jvdrums.sourceforge.net/
> >> > LinkedIn: http://www.linkedin.com/in/egolan74
> >> >
> >> > P Save a tree. Please don't print this e-mail unless it's really
> >> necessary
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to