Erik Hatcher wrote:


On Jun 3, 2005, at 9:05 AM, Robert wrote:

The thing that I don't understand is that when I define my own getter or setter for a property, that I will get into an infinite loop.


I see what you mean. I do not wrap my calls to getProperty inside normal looking getters like that so I've not had that issue.

I'm not sure if you're saying you have had a problem naming things this way or if you're saying you expected there to be a problem - I don't know if this is an issue or not, but I wouldn't be surprised.

I guess what I am trying to say is that it is too easy to break things with Tapestry without any warning that it is not allowed. I just try to get a feeling of how Tapestry works.


I noticed that initialize is never called. Isn't it needed for the same reason as pages? The first time when going to a page with this component, it will enter both getValue and setValue. But the next times it will enter just setValue. The value 50 or 40 are actually never displayed on my page. I will only see the value that was given to the value parameter.


I'm not sure off the top of my head about component parameters like this, but initialize() is a page thing, not component if I remember correctly.

So does that mean that instance variables are not allowed for components?
Does anyone else know why the getter and setter are called like this?

I highly recommend you get Howard's book if you don't already have it - he's provided a lot of helpful state information in there.

Yes I have it and almost finished it. Still I think I could a learn a lot of it if I read it again now that I have a little bit experience with it :p

If I could make any recommendation for Tapestry. Make it easier to avoid having abstract classes. Actually.... don't enhance classes as well. It is not transparant what is happening and decreases the benefits of strong typing and fixing errors compile time.

Robert.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to