Hi if that is the case how does tapestry recognise which abstract methods
have to be implemented at runtime and which should not be. For an instance I
had 2 abstract methods which should not be implemented by tapestry and 2
abstract methods which I want tapestry to be implemented. Of course all the
4 methods are getter methods( I assume we are not saying anywhere in
tapestry that 2 methods are properties and 2 methods are not properties even
though they are getter methods like we are declaring properties in .page
file in 3.0.3) 




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 23:22
To: Tapestry users
Subject: Re: jwc files and annotations

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