Skip to main content

[el-spec commits] [el-spec~source-code:75] Add more java docs

  • From: kchung@...
  • To: commits@...
  • Subject: [el-spec commits] [el-spec~source-code:75] Add more java docs
  • Date: Sat, 14 Apr 2012 00:07:31 +0000

Project:    el-spec
Repository: source-code
Revision:   75
Author:     kchung
Date:       2012-04-14 00:07:30 UTC
Link:       

Log Message:
------------
Add more java docs



Revisions:
----------
75


Modified Paths:
---------------
trunk/api/src/main/java/javax/el/BeanELResolver.java
trunk/api/src/main/java/javax/el/StandardELContext.java
trunk/api/src/main/java/javax/el/ArrayELResolver.java
trunk/api/src/main/java/javax/el/CompositeELResolver.java


Diffs:
------
Index: trunk/api/src/main/java/javax/el/CompositeELResolver.java
===================================================================
--- trunk/api/src/main/java/javax/el/CompositeELResolver.java   (revision 74)
+++ trunk/api/src/main/java/javax/el/CompositeELResolver.java   (revision 75)
@@ -397,6 +397,56 @@
         }
     }
 
+    /**
+     * Attempts to assign the value of the given <code>property</code>
+     * object on the given <code>base</code> object. All component
+     * resolvers are asked to attempt to assign the value.
+     *
+     * <p>If this resolver handles the given (base, property) pair,
+     * the <code>propertyResolved</code> property of the
+     * <code>ELContext</code> object must be set to <code>true</code>
+     * by the resolver, before returning. If this property is not
+     * <code>true</code> after this method is called, the caller can
+     * safely assume no value has been set.</p>
+     *
+     * <p>First, <code>propertyResolved</code> is set to <code>false</code> 
on
+     * the provided <code>ELContext</code>.</p>
+     *
+     * <p>Next, for each component resolver in this composite:
+     * <ol>
+     *   <li>The <code>assignValue()</code> method is called, passing in
+     *       the provided <code>context</code>, <code>base</code>,
+     *       <code>property</code> and <code>value</code>.</li>
+     *   <li>If the <code>ELContext</code>'s <code>propertyResolved</code>
+     *       flag is <code>false</code> then iteration continues.</li>
+     *   <li>Otherwise, iteration stops and no more component resolvers are
+     *       considered.</li>
+     * </ol></p>
+     *
+     * <p>If none of the component resolvers were able to perform this
+     * operation, the <code>propertyResolved</code> flag remains set to
+     * <code>false</code></p>.
+     *
+     * <p>Any exception thrown by component resolvers during the iteration
+     * is propagated to the caller of this method.</p>
+     *
+     * @param context The context of this evaluation.
+     * @param base The base object whose property value is to be set,
+     *     or <code>null</code> to set a top-level variable.
+     * @param property The property or variable to be set.
+     * @param val The value to set the property or variable to.
+     * @throws NullPointerException if context is <code>null</code>
+     * @throws PropertyNotFoundException if the given (base, property) pair
+     *     is handled by this <code>ELResolver</code> but the specified
+     *     variable or property does not exist.
+     * @throws PropertyNotWritableException if the given (base, property)
+     *     pair is handled by this <code>ELResolver</code> but the specified
+     *     variable or property is not writable.
+     * @throws ELException if an exception was thrown while attempting to
+     *     set the property or variable. The thrown exception
+     *     must be included as the cause property of this exception, if
+     *     available.
+     */
     public void assignValue(ELContext context,
                          Object base,
                          Object property,
Index: trunk/api/src/main/java/javax/el/BeanELResolver.java
===================================================================
--- trunk/api/src/main/java/javax/el/BeanELResolver.java        (revision 74)
+++ trunk/api/src/main/java/javax/el/BeanELResolver.java        (revision 75)
@@ -464,6 +464,19 @@
      * specified property is not a property of the base object, in which
      * case it just returns without setting the <code>propertyResolved</code>
      * property</p>.
+     *
+     * @param context The context of this evaluation.
+     * @param base The bean on which to set the property.
+     * @param property The name of the property to set. Will be coerced to
+     *     a <code>String</code>.
+     * @param val The value to be associated with the specified key.
+     * @throws NullPointerException if context is <code>null</code>.
+     * @throws PropertyNotWritableException if this resolver was constructed
+     *     in read-only mode, or if there is no setter for the property.
+     * @throws ELException if an exception was thrown while performing
+     *     the property or variable resolution. The thrown exception
+     *     must be included as the cause property of this exception, if
+     *     available.
      */
     public void assignValue(ELContext context,
                             Object base,
Index: trunk/api/src/main/java/javax/el/StandardELContext.java
===================================================================
--- trunk/api/src/main/java/javax/el/StandardELContext.java     (revision 74)
+++ trunk/api/src/main/java/javax/el/StandardELContext.java     (revision 75)
@@ -41,7 +41,7 @@
 package javax.el;
 
 import java.util.Map;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.lang.reflect.Method;
 
 /**
@@ -100,7 +100,7 @@
     /**
      * A bean repository local to this context
      */
-    private Map<String, Object> beans = new HashMap<String, Object>();
+    private Map<String, Object> beans = new ConcurrentHashMap<String, 
Object>();
 
     /**
      * Construct a default ELContext for a stand-alone environment.
@@ -281,7 +281,7 @@
         @Override
         public void mapFunction(String prefix, String localName, Method 
meth){
             if (functions == null) {
-                functions = new HashMap<String, Method>();
+                functions = new ConcurrentHashMap<String, Method>();
             }
             functions.put(prefix + ":" + localName, meth);
         }
@@ -303,7 +303,7 @@
         public ValueExpression setVariable(String variable,
                                            ValueExpression expression) {
             if (variables == null) {
-                variables = new HashMap<String, ValueExpression>();
+                variables = new ConcurrentHashMap<String, ValueExpression>();
             }
             ValueExpression prev = null;
             if (expression == null) {
Index: trunk/api/src/main/java/javax/el/ArrayELResolver.java
===================================================================
--- trunk/api/src/main/java/javax/el/ArrayELResolver.java       (revision 74)
+++ trunk/api/src/main/java/javax/el/ArrayELResolver.java       (revision 75)
@@ -275,6 +275,25 @@
      * specified index (property coerced to an integer) is out of bound,
      * in which case it just returns without setting the
      * <code>propertyResolved</code> property.</p>
+     *
+     * @param context The context of this evaluation.
+     * @param base The array to be modified. Only bases that are Java 
language
+     *     arrays are handled by this resolver.
+     * @param property The index of the value to be set. Will be coerced
+     *     into an integer.
+     * @param val The value to be set at the given index.
+     * @throws ClassCastException if the class of the specified element
+     *     prevents it from being added to this array.
+     * @throws NullPointerException if context is <code>null</code>.
+     * @throws IllegalArgumentException if the property could not be coerced
+     *     into an integer, or if some aspect of the specified element
+     *     prevents it from being added to this array.
+     * @throws PropertyNotWritableException if this resolver was constructed
+     *     in read-only mode.
+     * @throws ELException if an exception was thrown while performing
+     *     the property or variable resolution. The thrown exception
+     *     must be included as the cause property of this exception, if
+     *     available.
      */
     @Override
     public void assignValue(ELContext context,





[el-spec commits] [el-spec~source-code:75] Add more java docs

kchung 04/14/2012
 
 
Close
loading
Please Confirm
Close