Author: mrdon
Date: Tue Nov 14 13:38:24 2006
New Revision: 474996

URL: http://svn.apache.org/viewvc?view=rev&rev=474996
Log:
Adding javadocs to bean selection provider
WW-1483
Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java?view=diff&rev=474996&r1=474995&r2=474996
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java
 Tue Nov 14 13:38:24 2006
@@ -46,6 +46,86 @@
 import com.opensymphony.xwork2.util.ObjectTypeDeterminer;
 import com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory;
 
+/**
+ * Selects the implementations of key framework extension points, using the 
loaded
+ * property constants.  The implementations are selected from the container 
builder
+ * using the name defined in its associated property.  The default 
implementation name will
+ * always be "struts".
+ *
+ * <p>
+ * The following is a list of the allowed extension points:
+ *
+ * <!-- START SNIPPET: extensionPoints -->
+ * <table border="1">
+ *   <tr>
+ *     <th>Type</th>
+ *     <th>Property</th>
+ *     <th>Scope</th>
+ *     <th>Description</th>
+ *   </tr>
+ *   <tr>
+ *     <td>com.opensymphony.xwork2.ObjectFactory</td>
+ *     <td>struts.objectFactory</td>
+ *     <td>singleton</td>
+ *     <td>Creates actions, results, and interceptors</td>
+ *   </tr>
+ *   <tr>
+ *     <td>com.opensymphony.xwork2.ActionProxyFactory</td>
+ *     <td>struts.actionProxyFactory</td>
+ *     <td>singleton</td>
+ *     <td>Creates the ActionProxy</td>
+ *   </tr>
+ *   <tr>
+ *     <td>com.opensymphony.xwork2.util.ObjectTypeDeterminer</td>
+ *     <td>struts.objectTypeDeterminer</td>
+ *     <td>singleton</td>
+ *     <td>Determines what the key and and element class of a Map or 
Collection should be</td>
+ *   </tr>
+ *   <tr>
+ *     <td>org.apache.struts2.dispatcher.mapper.ActionMapper</td>
+ *     <td>struts.mapper.class</td>
+ *     <td>singleton</td>
+ *     <td>Determines the ActionMapping from a request and a URI from an 
ActionMapping</td>
+ *   </tr>
+ *   <tr>
+ *     <td>org.apache.struts2.dispatcher.multipart.MultiPartRequest</td>
+ *     <td>struts.multipart.parser</td>
+ *     <td>per request</td>
+ *     <td>Parses a multipart request (file upload)</td>
+ *   </tr>
+ *   <tr>
+ *     <td>org.apache.struts2.views.freemarker.FreemarkerManager</td>
+ *     <td>struts.freemarker.manager.classname</td>
+ *     <td>singleton</td>
+ *     <td>Loads and processes Freemarker templates</td>
+ *   </tr>
+ *   <tr>
+ *     <td>org.apache.struts2.views.velocity.VelocityManager</td>
+ *     <td>struts.velocity.manager.classname</td>
+ *     <td>singleton</td>
+ *     <td>Loads and processes Velocity templates</td>
+ *   </tr>
+ * </table>
+ *
+ * <!-- END SNIPPET: extensionPoints -->
+ * </p>
+ * <p>
+ * Implementations are selected using the value of its associated property.  
That property is
+ * used to determine the implementation by:
+ * </p>
+ * <ol>
+ *   <li>Trying to find an existing bean by that name in the container</li>
+ *   <li>Trying to find a class by that name, then creating a new bean factory 
for it</li>
+ *   <li>Creating a new delegation bean factory that delegates to the 
configured ObjectFactory at runtime</li>
+ * </ol>
+ * <p>
+ * Finally, this class overrides certain properties if dev mode is enabled:
+ * </p>
+ * <ul>
+ *   <li><code>struts.i18n.reload = true</code></li>
+ *   <li><code>struts.configuration.xml.reload = true</code></li>
+ * </ul>
+ */
 public class BeanSelectionProvider implements ConfigurationProvider {
     public static final String DEFAULT_BEAN_NAME = "struts";
     private static final Log LOG = 
LogFactory.getLog(BeanSelectionProvider.class);


Reply via email to