You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sk...@apache.org on 2005/12/12 02:28:42 UTC
svn commit: r356090 -
/myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java
Author: skitching
Date: Sun Dec 11 17:28:39 2005
New Revision: 356090
URL: http://svn.apache.org/viewcvs?rev=356090&view=rev
Log:
Update javadoc only.
Modified:
myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java
Modified: myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java
URL: http://svn.apache.org/viewcvs/myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java?rev=356090&r1=356089&r2=356090&view=diff
==============================================================================
--- myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java (original)
+++ myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java Sun Dec 11 17:28:39 2005
@@ -77,23 +77,36 @@
* <p>
* When writing to the returned map:
* <ul>
- * <li>If this component has an explicit property (ie a setter method) for
- * the specified key then the setter method is called.
- * <li>If this component has a value-binding for the specified key, then
- * the value-binding is evaluated as the target for the value.
+ * <li>If this component has an explicit property for the specified key
+ * then the setter method is called. An IllegalArgumentException is
+ * thrown if the property is read-only. If the property is readable
+ * then the old value is returned, otherwise null is returned.
* <li>Otherwise the key/value pair is stored in a map associated with
* the component.
* </ul>
+ * Note that value-bindings are <i>not</i> written by put calls to this map.
+ * Writing to the attributes map using a key for which a value-binding
+ * exists will just store the value in the attributes map rather than
+ * evaluating the binding, effectively "hiding" the value-binding from
+ * later attributes.get calls. Setter methods on components commonly do
+ * <i>not</i> evaluate a binding of the same name; they just store the
+ * provided value directly on the component.
* <p>
* When reading from the returned map:
* <ul>
- * <li>If this component has an explicit property (ie a getter method) for
- * the specified key then the getter method is called.
+ * <li>If this component has an explicit property for the specified key
+ * then the getter method is called. If the property exists, but is
+ * read-only (ie only a setter method is defined) then an
+ * IllegalArgumentException is thrown.
+ * <li>If the attribute map associated with the component has an entry
+ * with the specified key, then that is returned.
* <li>If this component has a value-binding for the specified key, then
* the value-binding is evaluated to fetch the value.
- * <li>Otherwise a map associated with the component is checked for an
- * entry with the specified key.
+ * <li>Otherwise, null is returned.
* </ul>
+ * Note that components commonly define getter methods such that they
+ * evaluate a value-binding of the same name if there isn't yet a
+ * local property.
* <p>
* Assigning values to the map which are not explicit properties on
* the underlying component can be used to "tunnel" attributes from