Anyone found a way to make this happen?
Seems like a very important point. Refactoring happends all the time. Is
everyone using these string constants all over the place or not simply using
the InjectPage?

On 3/6/06, Adam Zimowski <[EMAIL PROTECTED]> wrote:
>
> Thanks much, Till.   I'm on JDK 1.5 and tried
> MyPage.class.getSimpleName() but compiler is smart enough to figure
> out this is a non constant expression and won't let you inject page:
>
> @InjectPage(MyPage.class.getSimpleName())
>
> :-(
>
> On 3/6/06, Till Nagel <[EMAIL PROTECTED]> wrote:
> > Adam,
> >
> > to avoid repeating the page name as string constant, you could use
> >
> > public static final String NAME =
> > MyPage.class.getName().replaceAll(".*\\.", "");
> >
> > or, if you are using Java 1.5
> >
> > public static final String NAME = MyPage.class.getSimpleName();
> >
> >
> >
> > > -----Original Message-----
> > > From: Adam Zimowski [mailto:[EMAIL PROTECTED]
> > > Sent: Friday, March 03, 2006 9:04 PM
> > > To: Tapestry users
> > > Subject: Re: Best Practice: Controlling Page Names
> > >
> > > Enums wouldn't work because .toString() would result in a non-constant
> > > expression.
> > >
> > > So let's assume every page has:
> > >
> > > public static final String NAME = "page_name as defined in
> > *.application
> > > file";
> > >
> > > Then:
> > >
> > > @InjectPage(Page.NAME)
> > >
> > > Is this a clean way to do this?
> > >
> > > On 3/3/06, Adam Zimowski <[EMAIL PROTECTED]> wrote:
> > > > I'd like to hear what you folks would recommend for controlling when
> > > > referring to pages via their names, such as:
> > > >
> > > > @InjectPage("Registration")
> > > >
> > > > etc..
> > > >
> > > > If I have the same page injected in 20 places, then rename the page
> > it
> > > > would be a pain to refactor. Since I'm on JDK 1.5, I'm thinking of
> > > > creating page enum, and since toString() of an enum is its value it
> > > > would work rather nicely:
> > > >
> > > > public enum EPages { Home, Registration, etc... }
> > > >
> > > > @InjectPage(EPages.Registration)
> > > >
> > > > Sure, I have one more place to maintain with page names, but I
> > > > wouldn't mind it comparing to current state of affairs.
> > > >
> > > > Or is there even a better way?  I'd like to keep injection
> > annotation
> > > > because I've come so accustomed to it.
> > > >
> > > > Regards,
> > > > Adam
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > 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]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Pedro Viegas

Reply via email to