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