Yes, you could have just abstract getter (+ setter) for each property in Tapestry 4
2005/9/17, Muralidhar Y. <[EMAIL PROTECTED]>: > Hi in tapestry 3.0.3 if we have to declare or use abstract methods we have > to declare them as properties in .page file. Without that we cannot directly > declare or use abstract methods in java file. Is it different in tapestry 4. > > > > > > Muralidhar Y > Software Engineer, > Adastrum technologies-Nikai groups, > EmiratesGroup-I.T Division, > Dubai, UAE. > Mobile : 00971-50-2256149. > http://www.adastrumtech.com > http://www.mercator.aero > (Keep Smiling. Be happy All The Time.) > > -----Original Message----- > From: Tomáš Drencák [mailto:[EMAIL PROTECTED] > Sent: 17 September 2005 21:36 > To: Tapestry users > Subject: Re: jwc files and annotations > > Properties are just two (one) abstract methods e.g.: > > public abstract User getUser(); > public abstract void setUser(User user); > > you can also use just getter without setter. If you want to make a > persistent property tag getter with @Persist annotation. > > for beans create abstract getter with bean name and tag it with @Bean > annotation > > @Bean > public abstract ValidationDelegate getValidationDelegate() > > it is then accessible through ognl expression like ordinary bean > (beans.validationDelegate) > > 2005/9/17, Muralidhar Y. <[EMAIL PROTECTED]>: > > I am not sure. As far as I know tapestry recognises .page file. By > > that only it looks for .html file and .java file. I have checked the > source code too. > > It is like that. At least when you want to declare properties you have to > > use .page file. Mostly it cannot be completely empty. If you have to > > declare properties how you are declaring them? In case of beans also you > > have to use .page file. If you find any other way let me know too. > > > > > > > > > > Muralidhar Y > > Software Engineer, > > Adastrum technologies-Nikai groups, > > EmiratesGroup-I.T Division, > > Dubai, UAE. > > Mobile : 00971-50-2256149. > > http://www.adastrumtech.com > > http://www.mercator.aero > > (Keep Smiling. Be happy All The Time.) > > > > -----Original Message----- > > From: Tomáš Drencák [mailto:[EMAIL PROTECTED] > > Sent: 17 September 2005 12:03 > > To: Tapestry users > > Subject: Re: jwc files and annotations > > > > But why to have one almost empty file (only xml specification)? > > > > 2005/9/17, Muralidhar Y. <[EMAIL PROTECTED]>: > > > You don't need to have them in different locations. Once there is > > > .page file you can move them as you want and also you can keep them > > > together in a directory or in a single jar file. > > > > > > > > > > > > > > > Muralidhar Y > > > Software Engineer, > > > Adastrum technologies-Nikai groups, > > > EmiratesGroup-I.T Division, > > > Dubai, UAE. > > > Mobile : 00971-50-2256149. > > > http://www.adastrumtech.com > > > http://www.mercator.aero > > > (Keep Smiling. Be happy All The Time.) > > > > > > -----Original Message----- > > > From: Tomáš Drencák [mailto:[EMAIL PROTECTED] > > > Sent: 17 September 2005 10:08 > > > To: Tapestry users > > > Subject: Re: jwc files and annotations > > > > > > But it's odd to have files for one purpose in three different > > > locations (.page, .html, .class)... > > > > > > 2005/9/17, Muralidhar Y. <[EMAIL PROTECTED]>: > > > > > > > > Hi as per my experience if you want to move the files from default > > > > location you have to have a .page file. If you have .page file > > > > you can move any place you like. > > > > > > > > > > > > > > > > Muralidhar Y > > > > Software Engineer, > > > > Adastrum technologies-Nikai groups, EmiratesGroup-I.T Division, > > > > Dubai, UAE. > > > > Mobile : 00971-50-2256149. > > > > http://www.adastrumtech.com > > > > http://www.mercator.aero > > > > (Keep Smiling. Be happy All The Time.) > > > > > > > > -----Original Message----- > > > > From: Tomáš Drencák [mailto:[EMAIL PROTECTED] > > > > Sent: 16 September 2005 22:43 > > > > To: Tapestry users > > > > Subject: Re: jwc files and annotations > > > > > > > > Well, I have written page without .page file and seems strange to > > > > me, that there must be a page (.html) in root directory, > > > > localization file in WEB-INF > > > > (.properties) and finally class in classes directory. I think that > > > > this should be set up some way... Any ideas? > > > > > > > > 2005/9/16, Tomáš Drenčák <[EMAIL PROTECTED]>: > > > > > Thanks a lot. > > > > > > > > > > Another question... You are using pageValidate to set up > > > > > thisPerson property. I'm still little bit confused about page > > initialization. > > > > > What are pageBeginRender, pageValidate and prepareForRender for? > > > > > Where to initialize e.g. thisPerson from passed personId parameter? > > > > > I've used pageBeginRender, lazy initialization, but which method > > > > > is specially designed for this purpose? > > > > > > > > > > tomas > > > > > > > > > > 2005/9/16, Alan Chandler <[EMAIL PROTECTED]>: > > > > > > On Friday 16 September 2005 17:40, Sylvain COUTANT wrote: > > > > > > > Hi, > > > > > > > > > > > > > > I'm fairly new to Tapestry, but I thought jwc files were to > > > > > > > define components, not pages. > > > > > > > > > > > > > > For pages, I have no .page file. Tap 4 supports a package > > > > > > > list > > > > > > > (org.apache.tapestry.page-class-packages) to search for a > > > > > > > java class having the same name as the page. > > > > > > > > > > > > > > For components, I didn't find how I could avoid the jwc file. > > > > > > > It's required by the <component-type> element in application > > > > > > > description > > > > ... > > > > > > > > > > > > I'm fairly new to tapestry also, but I am creating my entire > > > > > > application (so > > > > > > far) without needing any page or component specifications. > > > > > > The entire thing is done with html templates and java classes. > > > > > > > > > > > > > > > > > > Basically, my application is called famtree, and therefore in > > > > > > > > > > > > WEB-INF/famtree.application file I have the following > > > > > > > > > > > > <application name="famtree" > > > > > > engine-class="org.apache.tapestry.engine.BaseEngine"> > > > > > > <description>Family tree</description> > > > > > > <meta key="org.apache.tapestry.page-class-packages" > > > > > > > uk.org.chandlerfamily.tapestry.famtree > > > > > > </meta> > > > > > > <meta key="org.apache.tapestry.component-class-packages"> > > > > > > uk.org.chandlerfamily.tapestry.components > > > > > > </meta> > > > > > > ... > > > > > > > > > > > > Which defines where it looks for both my pages and my components. > > > > > > > > > > > > Each component class then looks a bit like the following > > > > > > example > > > > > > > > > > > > package uk.org.chandlerfamily.tapestry.components; > > > > > > import org.apache.tapestry.annotations.*; > > > > > > import org.apache.tapestry.BaseComponent; > > > > > > > > > > > > import java.util.List; > > > > > > > > > > > > import uk.org.chandlerfamily.sqlmap.famtree.PersonSummary; > > > > > > > > > > > > @ComponentClass > > > > > > public abstract class Children extends BaseComponent { > > > > > > > > > > > > @Parameter > > > > > > public abstract List<PersonSummary> getChildList(); > > > > > > > > > > > > public abstract void setThisChild(PersonSummary > thisChild); > > > > > > public abstract PersonSummary getThisChild(); > > > > > > > > > > > > } > > > > > > > > > > > > Where this defines a component called "Children" which will > > > > > > take a parameter called "childList" and which has a @Foreach > > > > > > loop in the html template which interate over the list and use > > > > > > "ognl:thisChild.someproperty to get a property of the child. > > > > > > > > > > > > Page files look a bit like > > > > > > > > > > > > public abstract class Details extends BasePage implements > > > > > > PageValidateListener { > > > > > > > > > > > > > > > > > > public abstract int getPersonId(); > > > > > > public abstract void setPersonId(int personId); > > > > > > > > > > > > public abstract Person getThisPerson(); > > > > > > public abstract void setThisPerson(Person thisPerson); > > > > > > > > > > > > public void pageValidate (PageEvent event) { ... code > > > > > > to set up "thisPerson" data from a database with a paramter > > "personId" > > > > > > passed in via a listener in another page which returns with > > > > > > this page in its return statement. > > > > > > > > > > > > } > > > > > > } > > > > > > > > > > > > > > > > > > -- > > > > > > Alan Chandler > > > > > > http://www.chandlerfamily.org.uk > > > > > > > > > > > > -------------------------------------------------------------- > > > > > > -- > > > > > > -- > > > > > > -- > > > > > > - To unsubscribe, e-mail: > > > > > > [EMAIL PROTECTED] > > > > > > For additional commands, e-mail: > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
