Changes from JWS2 branch merged, mostly javadoc
[jabaws.git] / datamodel / compbio / metadata / LimitsManager.java
index 37d904c..92fd237 100644 (file)
@@ -33,7 +33,7 @@ import compbio.util.Util;
  * @see Limit\r
  * @author pvtroshin\r
  * \r
- *         Date January 2010\r
+ * @version 1.0 January 2010\r
  * @param <T>\r
  *            executable type\r
  */\r
@@ -41,108 +41,108 @@ import compbio.util.Util;
 @XmlAccessorType(XmlAccessType.FIELD)\r
 public class LimitsManager<T> {\r
 \r
-    String runnerClassName;\r
-    List<Limit<T>> limit;\r
+       String runnerClassName;\r
+       List<Limit<T>> limit;\r
 \r
-    /**\r
-     * \r
-     * @return all limits defined for an executable T\r
-     */\r
-    public List<Limit<T>> getLimits() {\r
-       return limit;\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-       return "LimitsManager [limits=" + limit + ", runnerClassName="\r
-               + runnerClassName + "]";\r
-    }\r
-\r
-    /**\r
-     * \r
-     * @param presetName\r
-     * @return Limit defined for the executable T and presetName. If no limit is\r
-     *         defined for the presetName then default Limit is returned. If\r
-     *         presetName is empty or null than the default Limit will be\r
-     *         returned. If not limit defined for the type T than NULL will be\r
-     *         returned\r
-     */\r
-    public Limit<T> getLimitByName(String presetName) {\r
-       if (Util.isEmpty(presetName)) {\r
-           // return default limit\r
-           return getDefaultLimit();\r
-       }\r
-       for (Limit<T> lim : limit) {\r
-           String preset = lim.getPreset();\r
-           if (preset == null) {\r
-               continue;\r
-           }\r
-           if (preset.equalsIgnoreCase(presetName)) {\r
-               return lim;\r
-           }\r
+       /**\r
+        * \r
+        * @return all limits defined for an executable T\r
+        */\r
+       public List<Limit<T>> getLimits() {\r
+               return limit;\r
        }\r
-       return null;\r
-    }\r
 \r
-    /**\r
-     * \r
-     * @return the default Limit for an executable type T\r
-     */\r
-    public Limit<T> getDefaultLimit() {\r
-       for (Limit<T> lim : limit) {\r
-           if (lim.isDefault) {\r
-               return lim;\r
-           }\r
+       @Override\r
+       public String toString() {\r
+               return "LimitsManager [limits=" + limit + ", runnerClassName="\r
+                               + runnerClassName + "]";\r
        }\r
-       return null;\r
-    }\r
 \r
-    /**\r
-     * Validate Limits\r
-     * \r
-     * @see Limit\r
-     * @see Preset\r
-     * @param presets\r
-     * @throws ValidationException\r
-     *             if any of the Limit defined is found to be invalid. That is\r
-     *             when\r
-     * \r
-     *             1) No default limit is defined\r
-     * \r
-     *             2) More than 1 default limit is defined\r
-     * \r
-     *             3) Limit's preset name does not match any presets for type T\r
-     */\r
-    public void validate(PresetManager<T> presets) throws ValidationException {\r
-       int defaults = 0;\r
-       for (Limit<T> lim : limit) {\r
-           if (lim.isDefault) {\r
-               defaults++;\r
-           }\r
-       }\r
-       if (defaults == 0) {\r
-           throw new ValidationException("Default limit is not set!");\r
+       /**\r
+        * \r
+        * @param presetName\r
+        * @return Limit defined for the executable T and presetName. If no limit is\r
+        *         defined for the presetName then default Limit is returned. If\r
+        *         presetName is empty or null than the default Limit will be\r
+        *         returned. If not limit defined for the type T than NULL will be\r
+        *         returned\r
+        */\r
+       public Limit<T> getLimitByName(String presetName) {\r
+               if (Util.isEmpty(presetName)) {\r
+                       // return default limit\r
+                       return getDefaultLimit();\r
+               }\r
+               for (Limit<T> lim : limit) {\r
+                       String preset = lim.getPreset();\r
+                       if (preset == null) {\r
+                               continue;\r
+                       }\r
+                       if (preset.equalsIgnoreCase(presetName)) {\r
+                               return lim;\r
+                       }\r
+               }\r
+               return null;\r
        }\r
-       if (defaults > 1) {\r
-           throw new ValidationException(\r
-                   "Default limit is set more than once!");\r
+\r
+       /**\r
+        * \r
+        * @return the default Limit for an executable type T\r
+        */\r
+       public Limit<T> getDefaultLimit() {\r
+               for (Limit<T> lim : limit) {\r
+                       if (lim.isDefault) {\r
+                               return lim;\r
+                       }\r
+               }\r
+               return null;\r
        }\r
-       if (presets != null) {\r
-           for (Limit<T> lim : limit) {\r
-               lim.validate();\r
-               String presetName = lim.getPreset();\r
-               // skip "special" preset\r
-               if (presetName != null\r
-                       && !presetName\r
-                               .equals(PresetManager.LOCAL_ENGINE_LIMIT_PRESET)) {\r
-                   Preset<T> preset = presets.getPresetByName(presetName);\r
-                   if (preset == null) {\r
-                       throw new ValidationException("Preset " + presetName\r
-                               + " is not found!");\r
-                   }\r
+\r
+       /**\r
+        * Validate Limits\r
+        * \r
+        * @see Limit\r
+        * @see Preset\r
+        * @param presets\r
+        * @throws ValidationException\r
+        *             if any of the Limit defined is found to be invalid. That is\r
+        *             when\r
+        * \r
+        *             1) No default limit is defined\r
+        * \r
+        *             2) More than 1 default limit is defined\r
+        * \r
+        *             3) Limit's preset name does not match any presets for type T\r
+        */\r
+       public void validate(PresetManager<T> presets) throws ValidationException {\r
+               int defaults = 0;\r
+               for (Limit<T> lim : limit) {\r
+                       if (lim.isDefault) {\r
+                               defaults++;\r
+                       }\r
+               }\r
+               if (defaults == 0) {\r
+                       throw new ValidationException("Default limit is not set!");\r
+               }\r
+               if (defaults > 1) {\r
+                       throw new ValidationException(\r
+                                       "Default limit is set more than once!");\r
+               }\r
+               if (presets != null) {\r
+                       for (Limit<T> lim : limit) {\r
+                               lim.validate();\r
+                               String presetName = lim.getPreset();\r
+                               // skip "special" preset\r
+                               if (presetName != null\r
+                                               && !presetName\r
+                                                               .equals(PresetManager.LOCAL_ENGINE_LIMIT_PRESET)) {\r
+                                       Preset<T> preset = presets.getPresetByName(presetName);\r
+                                       if (preset == null) {\r
+                                               throw new ValidationException("Preset " + presetName\r
+                                                               + " is not found!");\r
+                                       }\r
+                               }\r
+                       }\r
                }\r
-           }\r
        }\r
-    }\r
 \r
 }\r