[ http://issues.apache.org/jira/browse/TAPESTRY-1111?page=all ]
Jesse Kuhnert reopened TAPESTRY-1111:
-------------------------------------
Sorry about that Peter. Another developer corrected me and pointed out the part
about accessing properties that haven't been set while doing things in a
pageAttached or similar sort of state.
I can't make any promises about it getting done but will certainly look into it
to see if it's possible to do without incurring any performance costs for the
majority use case.
> Throw an exception when trying to access an uninitialized property
> ------------------------------------------------------------------
>
> Key: TAPESTRY-1111
> URL: http://issues.apache.org/jira/browse/TAPESTRY-1111
> Project: Tapestry
> Issue Type: Improvement
> Components: Core
> Affects Versions: 4.0
> Reporter: Peter Eastman
> Assigned To: Jesse Kuhnert
>
> If you do not specify a default value for a property (e.g. with
> @InitialValue), it gets initialized to a default value selected by Tapestry.
> This creates lots of opportunities for confusion and bugs. I suggest that
> instead, the property should be marked internally as "uninitialized". If you
> attempt to get its value while it is in that state, it should throw an
> exception. Looking up a property before its value has been set is almost
> always an error. It is much better to immediately alert the user so they can
> fix the bug, rather than letting their program appear to work, but misbehave
> in some possibly subtle way.
> This applies to any situation where you try to access a value that is not
> currently available. For example, if you try to access a persistent property
> inside pageAttached(), it should throw an exception rather than simply
> returning null.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]