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]
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
> 
>

Reply via email to