(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / adapters / ConstructorConfiguration.java
index 2725d0338fcae9026cf8f02754da8c2e5453f6f8..676a88fba9a9fe927d2309007abad2ed398be422 100644 (file)
@@ -28,6 +28,22 @@ import org.wamblee.system.core.RequiredInterface;
 import org.wamblee.system.core.Scope;
 import org.wamblee.system.core.SystemAssemblyException;
 
+/**
+ * Class that allows configuration of the constructor to use. 
+ * 
+ * In particular, it provides:
+ * <ul>
+ *   <li> Selection of a constructor using explicit selection 
+ *      {@link #select(Class...)} or using the most greedy constructor 
+ *      {@link #greedy()}.
+ *   </li>
+ *   <li>
+ *      Selection of methods to invoke to inject other objects into the object.  
+ *   </li>
+ *   <li> Selection of fields to set. 
+ *   </li>
+ * </ul>
+ */
 public class ConstructorConfiguration {
        private Class _class; 
        private Constructor<?> _constructor;
@@ -35,9 +51,8 @@ public class ConstructorConfiguration {
        private boolean _publicOnly; 
 
        /**
-        * Constructs the configuration. By default no constructor is selected and 
-        * one of {@link #select(Class...)} or 
-        * {@link #greedy()} must be called.  
+        * Constructs the configuration. By default the public constructor with the 
+        * most arguments will be used.   
         * @param aClass Class to construct. 
         */
        public ConstructorConfiguration(Class aClass) {
@@ -48,7 +63,7 @@ public class ConstructorConfiguration {
        
        /**
         * Sets whether or no non public constructors are also considered.
-        * Reset the choice of a constructor. 
+        * Reset the choice of a constructor to its default.  
         * @param aNonPublic
         * @return
         */