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