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


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]

Reply via email to