You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/07/24 20:27:58 UTC

[13/15] struts git commit: WW-4531- Improve javadoc to be compatible with more strict JDK8 javadoc standard

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
index 2372499..fa5a178 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -60,13 +60,13 @@ import java.util.concurrent.ConcurrentMap;
  *
  * <!-- START SNIPPET: packagenote -->
  * <p>To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:</p>
- * com/<br/>
- * &nbsp; acme/<br/>
- * &nbsp; &nbsp; package.properties<br/>
- * &nbsp; &nbsp; actions/<br/>
- * &nbsp; &nbsp; &nbsp; package.properties<br/>
- * &nbsp; &nbsp; &nbsp; FooAction.java<br/>
- * &nbsp; &nbsp; &nbsp; FooAction.properties<br/>
+ * com/<br>
+ * &nbsp; acme/<br>
+ * &nbsp; &nbsp; package.properties<br>
+ * &nbsp; &nbsp; actions/<br>
+ * &nbsp; &nbsp; &nbsp; package.properties<br>
+ * &nbsp; &nbsp; &nbsp; FooAction.java<br>
+ * &nbsp; &nbsp; &nbsp; FooAction.properties<br>
  * <p>
  * If FooAction.properties does not exist, com/acme/action/package.properties will be searched for, if
  * not found com/acme/package.properties, if not found com/package.properties, etc.
@@ -291,7 +291,7 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Sets a {@link ClassLoader} to look up the bundle from if none can be found on the current thread's classloader
+     * @param classLoader a {@link ClassLoader} to look up the bundle from if none can be found on the current thread's classloader
      */
     public static void setDelegatedClassLoader(final ClassLoader classLoader) {
         synchronized (bundlesMap) {
@@ -300,7 +300,7 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Removes the bundle from any cached "misses"
+     * @param bundleName Removes the bundle from any cached "misses"
      */
     public static void clearBundle(final String bundleName) {
         bundlesMap.remove(getCurrentThreadContextClassLoader().hashCode() + bundleName);
@@ -323,6 +323,11 @@ public class LocalizedTextUtil {
      * Calls {@link #findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args)}
      * with aTextName as the default message.
      *
+     * @param aClass class name
+     * @param aTextName  text name
+     * @param locale the locale
+     *
+     * @return the localized text, or null if none can be found and no defaultMessage is provided
      * @see #findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args)
      */
     public static String findText(Class aClass, String aTextName, Locale locale) {
@@ -610,6 +615,11 @@ public class LocalizedTextUtil {
      * will be treated as an OGNL expression and evaluated as such.
      * </p>
      *
+     * @param bundle a resource bundle name
+     * @param aTextName  text name
+     * @param locale the locale
+     *
+     * @return the localized text, or null if none can be found and no defaultMessage is provided
      * @see #findText(java.util.ResourceBundle, String, java.util.Locale, String, Object[])
      */
     public static String findText(ResourceBundle bundle, String aTextName, Locale locale) {
@@ -636,6 +646,7 @@ public class LocalizedTextUtil {
      * @param locale         the locale
      * @param defaultMessage the default message to use if no message was found in the bundle
      * @param args           arguments for the message formatter.
+     * @return the localized text, or null if none can be found and no defaultMessage is provided
      */
     public static String findText(ResourceBundle bundle, String aTextName, Locale locale, String defaultMessage, Object[] args) {
         ValueStack valueStack = ActionContext.getContext().getValueStack();
@@ -663,6 +674,7 @@ public class LocalizedTextUtil {
      * @param defaultMessage the default message to use if no message was found in the bundle
      * @param args           arguments for the message formatter.
      * @param valueStack     the OGNL value stack.
+     * @return the localized text, or null if none can be found and no defaultMessage is provided
      */
     public static String findText(ResourceBundle bundle, String aTextName, Locale locale, String defaultMessage, Object[] args,
                                   ValueStack valueStack) {
@@ -689,7 +701,7 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Gets the default message.
+     * @return the default message.
      */
     private static GetDefaultMessageReturnArg getDefaultMessage(String key, Locale locale, ValueStack valueStack, Object[] args,
                                                                 String defaultMessage) {
@@ -717,7 +729,7 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Gets the message from the named resource bundle.
+     * @return the message from the named resource bundle.
      */
     private static String getMessage(String bundleName, Locale locale, String key, ValueStack valueStack, Object[] args) {
         ResourceBundle bundle = findResourceBundle(bundleName, locale);
@@ -764,6 +776,8 @@ public class LocalizedTextUtil {
     /**
      * Traverse up class hierarchy looking for message.  Looks at class, then implemented interface,
      * before going up hierarchy.
+     *
+     * @return the message
      */
     private static String findMessage(Class clazz, String key, String indexedKey, Locale locale, Object[] args, Set<String> checked,
                                       ValueStack valueStack) {

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java b/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
index 8d197c6..3e640cb 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
@@ -28,28 +28,28 @@ import java.util.regex.Pattern;
  * at least one character must match in order for the wildcard to be matched successfully.  Matched values will be
  * available in the variable map, indexed by the name they were given in the pattern.
  *
- * <p>For example, the following patterns will be processed as so:
- * </p>
- * <table>
+ * <p>For example, the following patterns will be processed as so:</p>
+ *
+ * <table summary="">
  * <tr>
  *  <th>Pattern</th>
  *  <th>Example</th>
  *  <th>Variable Map Contents</th>
  * </tr>
  * <tr>
- *  <td><code>/animals/{animal}</code</td>
+ *  <td><code>/animals/{animal}</code></td>
  *  <td><code>/animals/dog</code></td>
- *  <td>{animal -> dog}</td>
+ *  <td>{animal -&gt; dog}</td>
  * </tr>
  * <tr>
- *  <td><code>/animals/{animal}/tag/No{id}</code</td>
+ *  <td><code>/animals/{animal}/tag/No{id}</code></td>
  *  <td><code>/animals/dog/tag/No23</code></td>
- *  <td>{animal -> dog, id -> 23}</td>
+ *  <td>{animal -&gt; dog, id -&gt; 23}</td>
  * </tr>
  * <tr>
- *  <td><code>/{language}</code</td>
+ *  <td><code>/{language}</code></td>
  *  <td><code>/en</code></td>
- *  <td>{language -> en}</td>
+ *  <td>{language -&gt; en}</td>
  * </tr>
  * </table>
  *
@@ -57,7 +57,7 @@ import java.util.regex.Pattern;
  * Excaping hasn't been implemented since the intended use of these patterns will be in matching URLs.
  * </p>
  *
- * @Since 2.1
+ * @since 2.1
  */
 public class NamedVariablePatternMatcher implements PatternMatcher<NamedVariablePatternMatcher.CompiledPattern> {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java
index e7222cd..226a89a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java
@@ -59,8 +59,7 @@ import java.util.jar.JarInputStream;
  *Collection&lt;ActionBean&gt; beans = resolver.getClasses();
  *</pre> 
  *
- * <p>This class was copied from Stripes - http://stripes.mc4j.org/confluence/display/stripes/Home
- * </p>
+ * <p>This class was copied from Stripes - http://stripes.mc4j.org/confluence/display/stripes/Home</p>
  * 
  * @author Tim Fennell
  */
@@ -74,8 +73,10 @@ public class ResolverUtil<T> {
      */
     public static interface Test {
         /**
-         * Will be called repeatedly with candidate classes. Must return True if a class
-         * is to be included in the results, false otherwise.
+         * Will be called repeatedly with candidate classes.
+         *
+         * @param type class type
+         * @return True if a class is to be included in the results, false otherwise.
          */
         boolean matches(Class type);
         
@@ -118,10 +119,15 @@ public class ResolverUtil<T> {
     public static class IsA extends ClassTest {
         private Class parent;
 
-        /** Constructs an IsA test using the supplied Class as the parent class/interface. */
+        /** Constructs an IsA test using the supplied Class as the parent class/interface.
+         * @param parentType the parent type class
+         */
         public IsA(Class parentType) { this.parent = parentType; }
 
-        /** Returns true if type is assignable to the parent type supplied in the constructor. */
+        /**
+         * @param type class type
+         * @return true if type is assignable to the parent type supplied in the constructor.
+         */
         public boolean matches(Class type) {
             return type != null && parent.isAssignableFrom(type);
         }
@@ -137,10 +143,16 @@ public class ResolverUtil<T> {
     public static class NameEndsWith extends ClassTest {
         private String suffix;
 
-        /** Constructs a NameEndsWith test using the supplied suffix. */
+        /**
+         * Constructs a NameEndsWith test using the supplied suffix.
+         * @param suffix suffix
+         */
         public NameEndsWith(String suffix) { this.suffix = suffix; }
 
-        /** Returns true if type name ends with the suffix supplied in the constructor. */
+        /**
+         * @param type class type
+         * @return true if type name ends with the suffix supplied in the constructor.
+         */
         public boolean matches(Class type) {
             return type != null && type.getName().endsWith(suffix);
         }
@@ -157,10 +169,17 @@ public class ResolverUtil<T> {
     public static class AnnotatedWith extends ClassTest {
         private Class<? extends Annotation> annotation;
 
-        /** Construts an AnnotatedWith test for the specified annotation type. */
+        /**
+         * Constructs an AnnotatedWith test for the specified annotation type.
+         *
+         * @param annotation annotation
+         */
         public AnnotatedWith(Class<? extends Annotation> annotation) { this.annotation = annotation; }
 
-        /** Returns true if the type is annotated with the class provided to the constructor. */
+        /**
+         * @param type class type
+         * @return true if the type is annotated with the class provided to the constructor.
+         */
         public boolean matches(Class type) {
             return type != null && type.isAnnotationPresent(annotation);
         }
@@ -188,7 +207,7 @@ public class ResolverUtil<T> {
     private Set<Class<? extends T>> classMatches = new HashSet<Class<?extends T>>();
     
     /** The set of matches being accumulated. */
-    private Set<URL> resourceMatches = new HashSet<URL>();
+    private Set<URL> resourceMatches = new HashSet<>();
 
     /**
      * The ClassLoader to use when looking for classes. If null then the ClassLoader returned

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index fe6f76e..4f48685 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -28,8 +28,6 @@ import java.util.*;
  * @author Jason Carreira
  * @author Rainer Hermanns
  * @author tm_jee
- *
- * @version $Date$ $Id$
  */
 public class TextParseUtil {
 
@@ -42,6 +40,7 @@ public class TextParseUtil {
      * displayed, just as if the item was on the stack but returned an empty string.
      *
      * @param expression an expression that hasn't yet been translated
+     * @param stack value stack
      * @return the parsed expression
      */
     public static String translateVariables(String expression, ValueStack stack) {
@@ -61,8 +60,8 @@ public class TextParseUtil {
      * A typical use-case would be when we need to URL Encode the parsed value. To do so
      * we could just supply a URLEncodingEvaluator for example.
      *
-     * @param expression
-     * @param stack
+     * @param expression expression string
+     * @param stack value stack
      * @param evaluator The parsed Value evaluator (could be null).
      * @return the parsed (and possibly evaluated) variable String.
      */
@@ -76,9 +75,9 @@ public class TextParseUtil {
      * be found on the stack (null is returned), then the entire variable ${...} is not
      * displayed, just as if the item was on the stack but returned an empty string.
      *
-     * @param open
-     * @param expression
-     * @param stack
+     * @param open open character
+     * @param expression expression string
+     * @param stack value stack
      * @return Translated variable String
      */
     public static String translateVariables(char open, String expression, ValueStack stack) {
@@ -88,10 +87,10 @@ public class TextParseUtil {
     /**
      * Converted object from variable translation.
      *
-     * @param open
-     * @param expression
-     * @param stack
-     * @param asType
+     * @param open open character
+     * @param expression expression string
+     * @param stack value stack
+     * @param asType as class type
      * @return Converted object from variable translation.
      */
     public static Object translateVariables(char open, String expression, ValueStack stack, Class asType) {
@@ -101,11 +100,11 @@ public class TextParseUtil {
     /**
      * Converted object from variable translation.
      *
-     * @param open
-     * @param expression
-     * @param stack
-     * @param asType
-     * @param evaluator
+     * @param open open character
+     * @param expression expression string
+     * @param stack value stack
+     * @param asType as class type
+     * @param evaluator value evaluator
      * @return Converted object from variable translation.
      */
     public static Object translateVariables(char open, String expression, ValueStack stack, Class asType, ParsedValueEvaluator evaluator) {
@@ -115,11 +114,11 @@ public class TextParseUtil {
     /**
      * Converted object from variable translation.
      *
-     * @param openChars
-     * @param expression
-     * @param stack
-     * @param asType
-     * @param evaluator
+     * @param openChars open character array
+     * @param expression expression string
+     * @param stack value stack
+     * @param asType as class type
+     * @param evaluator value evaluator
      * @return Converted object from variable translation.
      */
     public static Object translateVariables(char[] openChars, String expression, ValueStack stack, Class asType, ParsedValueEvaluator evaluator) {
@@ -129,11 +128,12 @@ public class TextParseUtil {
     /**
      * Converted object from variable translation.
      *
-     * @param open
-     * @param expression
-     * @param stack
-     * @param asType
-     * @param evaluator
+     * @param open open character
+     * @param expression expression string
+     * @param stack value stack
+     * @param asType as class type
+     * @param evaluator value evaluator
+     * @param maxLoopCount max loop count
      * @return Converted object from variable translation.
      */
     public static Object translateVariables(char open, String expression, ValueStack stack, Class asType, ParsedValueEvaluator evaluator, int maxLoopCount) {
@@ -143,11 +143,12 @@ public class TextParseUtil {
     /**
      * Converted object from variable translation.
      *
-     * @param openChars
-     * @param expression
-     * @param stack
-     * @param asType
-     * @param evaluator
+     * @param openChars open character array
+     * @param expression expression string
+     * @param stack value stack
+     * @param asType as class type
+     * @param evaluator value evaluator
+     * @param maxLoopCount max loop count
      * @return Converted object from variable translation.
      */
     public static Object translateVariables(char[] openChars, String expression, final ValueStack stack, final Class asType, final ParsedValueEvaluator evaluator, int maxLoopCount) {
@@ -170,11 +171,11 @@ public class TextParseUtil {
     /**
      * @see #translateVariablesCollection(char[], String, ValueStack, boolean, ParsedValueEvaluator, int)
      *
-     * @param expression
-     * @param stack
-     * @param excludeEmptyElements
-     * @param evaluator
-     * @return
+     * @param expression expression string
+     * @param stack value stack
+     * @param excludeEmptyElements Whether empty elements shall be excluded.
+     * @param evaluator value evaluator
+     * @return converted objects
      */
     public static Collection<String>  translateVariablesCollection(String expression, ValueStack stack, boolean excludeEmptyElements, ParsedValueEvaluator evaluator) {
         return translateVariablesCollection(new char[]{'$', '%'}, expression, stack, excludeEmptyElements, evaluator, MAX_RECURSION);
@@ -184,14 +185,14 @@ public class TextParseUtil {
      * Resolves given expression on given ValueStack. If found element is a
      * collection each element will be converted to String. If just a single
      * object is found it is converted to String and wrapped in a collection.
-     * 
-     * @param openChars
-     * @param expression
-     * @param stack
-     * @param excludeEmptyElements
-     * @param evaluator
-     * @param maxLoopCount
-     * @return
+     *
+     * @param openChars open character array
+     * @param expression expression string
+     * @param stack value stack
+     * @param evaluator value evaluator
+     * @param excludeEmptyElements Whether empty elements shall be excluded.
+     * @param maxLoopCount max loop count
+     * @return converted objects
      */
     public static Collection<String> translateVariablesCollection(
             char[] openChars, String expression, final ValueStack stack, boolean excludeEmptyElements,
@@ -249,9 +250,9 @@ public class TextParseUtil {
     }
 
     /**
-     * Returns a set from comma delimted Strings.
+     * Returns a set from comma delimited Strings.
      * @param s The String to parse.
-     * @return A set from comma delimted Strings.
+     * @return A set from comma delimited Strings.
      */
     public static Set<String> commaDelimitedStringToSet(String s) {
         Set<String> set = new HashSet<>();
@@ -291,7 +292,7 @@ public class TextParseUtil {
     	 * Evaluated the value parsed by Ognl value stack.
     	 *
     	 * @param parsedValue - value parsed by ognl value stack
-    	 * @return return the evaluted value.
+    	 * @return return the evaluated value.
     	 */
     	Object evaluate(String parsedValue);
     }

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
index 75368e2..819cec7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
@@ -100,6 +100,8 @@ public class ResourceFinder {
      * </p>
      *
      * This method is not thread safe.
+     *
+     * @return not loaded resources
      */
     public List<String> getResourcesNotLoaded() {
         return Collections.unmodifiableList(resourcesNotLoaded);
@@ -139,7 +141,7 @@ public class ResourceFinder {
     /**
      * Reads the contents of the URL as a {@link String}'s and returns it.
      *
-     * @param uri
+     * @param uri URL
      * @return a stringified content of a resource
      * @throws IOException if a resource pointed out by the uri param could not be find
      * @see ClassLoader#getResource(String)
@@ -149,7 +151,7 @@ public class ResourceFinder {
 
         URL resource = getResource(fullUri);
         if (resource == null) {
-            throw new IOException("Could not find a resource in : " + fullUri);
+            throw new IOException("Could not find a resource in: " + fullUri);
         }
 
         return readContents(resource);
@@ -158,7 +160,7 @@ public class ResourceFinder {
     /**
      * Reads the contents of the found URLs as a list of {@link String}'s and returns them.
      *
-     * @param uri
+     * @param uri URL
      * @return a list of the content of each resource URL found
      * @throws IOException if any of the found URLs are unable to be read.
      */
@@ -181,7 +183,7 @@ public class ResourceFinder {
      * Individual URLs that cannot be read are skipped and added to the
      * list of 'resourcesNotLoaded'
      *
-     * @param uri
+     * @param uri URL
      * @return a list of the content of each resource URL found
      * @throws IOException if classLoader.getResources throws an exception
      */
@@ -234,7 +236,7 @@ public class ResourceFinder {
      * map.contains("four");  // false
      * </pre>
      *
-     * @param uri
+     * @param uri URL
      * @return a list of the content of each resource URL found
      * @throws IOException if any of the urls cannot be read
      */
@@ -281,7 +283,7 @@ public class ResourceFinder {
      * map.contains("four");  // false
      * </pre>
      *
-     * @param uri
+     * @param uri URL
      * @return a list of the content of each resource URL found
      * @throws IOException if classLoader.getResources throws an exception
      */
@@ -312,10 +314,10 @@ public class ResourceFinder {
      * Executes {@link #findString(String)} assuming the contents URL found is the name of
      * a class that should be loaded and returned.
      *
-     * @param uri
-     * @return
-     * @throws IOException
-     * @throws ClassNotFoundException
+     * @param uri URL
+     * @return class that should be loaded
+     * @throws IOException in case of IO errors
+     * @throws ClassNotFoundException when class is not found
      */
     public Class findClass(String uri) throws IOException, ClassNotFoundException {
         String className = findString(uri);
@@ -332,10 +334,10 @@ public class ResourceFinder {
      * Any URL or class that cannot be loaded will cause an exception to be thrown.
      * </p>
      *
-     * @param uri
-     * @return
-     * @throws IOException
-     * @throws ClassNotFoundException
+     * @param uri URL
+     * @return classes that should be loaded
+     * @throws IOException in case of IO errors
+     * @throws ClassNotFoundException when class is not found
      */
     public List<Class> findAllClasses(String uri) throws IOException, ClassNotFoundException {
         List<Class> classes = new ArrayList<>();
@@ -358,8 +360,8 @@ public class ResourceFinder {
      * 'resourcesNotLoaded' collection.
      * </p>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return list of available classes
      * @throws IOException if classLoader.getResources throws an exception
      */
     public List<Class> findAvailableClasses(String uri) throws IOException {
@@ -403,10 +405,10 @@ public class ResourceFinder {
      * Class crimsonClass = map.get("crimson");
      * </pre>
      *
-     * @param uri
-     * @return
-     * @throws IOException
-     * @throws ClassNotFoundException
+     * @param uri URL
+     * @return map of all classes
+     * @throws IOException in case of IO errors
+     * @throws ClassNotFoundException when class is not found
      */
     public Map<String, Class> mapAllClasses(String uri) throws IOException, ClassNotFoundException {
         Map<String, Class> classes = new HashMap<>();
@@ -445,10 +447,10 @@ public class ResourceFinder {
      * map.contains("crimson");  // true
      * Class xercesClass = map.get("xerces");
      * Class crimsonClass = map.get("crimson");
-     * </p>
+     * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return map of available classes
      * @throws IOException if classLoader.getResources throws an exception
      */
     public Map<String, Class> mapAvailableClasses(String uri) throws IOException {
@@ -497,8 +499,9 @@ public class ResourceFinder {
      * Class clazz = finder.findImplementation(java.io.InputStream.class);
      * clazz.getName();  // returns "org.acme.AcmeInputStream"
      * </pre>
+     *
      * @param interfase a superclass or interface
-     * @return
+     * @return implementation class
      * @throws IOException            if the URL cannot be read
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
@@ -542,7 +545,7 @@ public class ResourceFinder {
      * </pre>
      *
      * @param interfase a superclass or interface
-     * @return
+     * @return list of implementation classes
      * @throws IOException            if the URL cannot be read
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
@@ -589,7 +592,7 @@ public class ResourceFinder {
      * classes.contains("com.foo.BarInputStream");  // true
      * </pre>
      * @param interfase a superclass or interface
-     * @return
+     * @return list of implementation classes
      * @throws IOException if classLoader.getResources throws an exception
      */
     public List<Class> findAvailableImplementations(Class interfase) throws IOException {
@@ -641,7 +644,7 @@ public class ResourceFinder {
      * </pre>
      *
      * @param interfase a superclass or interface
-     * @return
+     * @return map of implementation classes
      * @throws IOException            if the URL cannot be read
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
@@ -691,7 +694,7 @@ public class ResourceFinder {
      * </pre>
      *
      * @param interfase a superclass or interface
-     * @return
+     * @return list of available implementation classes
      * @throws IOException if classLoader.getResources throws an exception
      */
     public Map<String, Class> mapAvailableImplementations(Class interfase) throws IOException {
@@ -730,7 +733,7 @@ public class ResourceFinder {
      * Example classpath:
      * </p>
      *
-     * <pre>>
+     * <pre>
      * META-INF/widget.properties
      * </pre>
      *
@@ -739,8 +742,8 @@ public class ResourceFinder {
      * Properties widgetProps = finder.findProperties("widget.properties");
      * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return corresponding resource as properties
      * @throws IOException if the URL cannot be read or is not in properties file format
      */
     public Properties findProperties(String uri) throws IOException {
@@ -775,11 +778,11 @@ public class ResourceFinder {
      *
      * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
-     * List<Properties> appProps = finder.findAllProperties("app.properties");
+     * List&lt;Properties&gt; appProps = finder.findAllProperties("app.properties");
      * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return corresponding resource as list of properties
      * @throws IOException if the URL cannot be read or is not in properties file format
      */
     public List<Properties> findAllProperties(String uri) throws IOException {
@@ -818,11 +821,11 @@ public class ResourceFinder {
      *
      * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
-     * List<Properties> appProps = finder.findAvailableProperties("app.properties");
+     * List&lt;Properties&gt; appProps = finder.findAvailableProperties("app.properties");
      * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return corresponding resource as list of properties
      * @throws IOException if classLoader.getResources throws an exception
      */
     public List<Properties> findAvailableProperties(String uri) throws IOException {
@@ -865,14 +868,14 @@ public class ResourceFinder {
      *
      * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
-     * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
+     * List&lt;Properties&gt; driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
      * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return corresponding resource as map of properties
      * @throws IOException if the URL cannot be read or is not in properties file format
      */
     public Map<String, Properties> mapAllProperties(String uri) throws IOException {
@@ -909,14 +912,14 @@ public class ResourceFinder {
      *
      * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
-     * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
+     * List&lt;Properties&gt; driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
-     * </p>
+     * </pre>
      *
-     * @param uri
-     * @return
+     * @param uri URL
+     * @return corresponding resource as map of available properties
      * @throws IOException if classLoader.getResources throws an exception
      */
     public Map<String, Properties> mapAvailableProperties(String uri) throws IOException {
@@ -969,7 +972,10 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpackages from jars or dirs
+     * @param uri URL
+     * @return set of subpackages from jars or dirs
+     *
+     * @throws IOException in case of IO errors
      */
     public Set<String> findPackages(String uri) throws IOException {
         String basePath = path + uri;
@@ -998,7 +1004,10 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpackages from jars or dirs
+     * @param uri URL
+     * @return a map of subpackages from jars or dirs
+     *
+     * @throws IOException in case of IO errors
      */
     public Map<URL, Set<String>> findPackagesMap(String uri) throws IOException {
         String basePath = path + uri;
@@ -1146,7 +1155,7 @@ public class ResourceFinder {
         if (urls == null) {
             return classLoaderInterface.getResources(fulluri);
         }
-        Vector<URL> resources = new Vector();
+        Vector<URL> resources = new Vector<>();
         for (URL url : urls) {
             URL resource = findResource(fulluri, url);
             if (resource != null){

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
index 34e0937..dd7f5d7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
@@ -27,7 +27,10 @@ import java.net.URL;
 import java.util.*;
 
 /**
+ * <p>
  * Use with ClassFinder to filter the Urls to be scanned, example:
+ * </p>
+ *
  * <pre>
  * UrlSet urlSet = new UrlSet(classLoader);
  * urlSet = urlSet.exclude(ClassLoader.getSystemClassLoader().getParent());
@@ -38,8 +41,8 @@ import java.util.*;
  * urlSet = urlSet.exclude(".*?/JavaVM.framework/.*");
  * urlSet = urlSet.exclude(".*?/activemq-(core|ra)-[\\d.]+.jar(!/)?");
  * </pre>
+ *
  * @author David Blevins
- * @version $Rev$ $Date$
  */
 public class UrlSet {
 
@@ -68,7 +71,7 @@ public class UrlSet {
     }
     /**
      * Ignores all URLs that are not "jar" or "file"
-     * @param urls
+     * @param urls collection of URLs
      */
     public UrlSet(Collection<URL> urls){
         this();
@@ -118,8 +121,8 @@ public class UrlSet {
 
     /**
      * Calls excludePaths(System.getProperty("java.ext.dirs"))
-     * @return
-     * @throws MalformedURLException
+     * @return url set
+     * @throws MalformedURLException in case if incorrect URL
      */
     public UrlSet excludeJavaExtDirs() throws MalformedURLException {
         return excludePaths(System.getProperty("java.ext.dirs", ""));
@@ -128,8 +131,8 @@ public class UrlSet {
     /**
      * Calls excludePaths(System.getProperty("java.endorsed.dirs"))
      *
-     * @return
-     * @throws MalformedURLException
+     * @return url set
+     * @throws MalformedURLException in case if incorrect URL
      */
     public UrlSet excludeJavaEndorsedDirs() throws MalformedURLException {
         return excludePaths(System.getProperty("java.endorsed.dirs", ""));
@@ -173,6 +176,12 @@ public class UrlSet {
 
     /**
      * Try to find a classes directory inside a war file add its normalized url to this set
+     *
+     * @param classLoaderInterface  class loader interface
+     * @param normalizer file protocol normalizer
+     *
+     * @return url set
+     * @throws IOException in case of IO errors
      */
     public UrlSet includeClassesUrl(ClassLoaderInterface classLoaderInterface, FileProtocolNormalizer normalizer) throws IOException {
         Enumeration<URL> rootUrlEnumeration = classLoaderInterface.getResources("");

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java b/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java
index 86fda9b..55833ee 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java
@@ -102,8 +102,8 @@ public class DefaultFileManager implements FileManager {
     /**
      * Check if given URL is matching Jar pattern for different servers
      *
-     * @param fileUrl
-     * @return
+     * @param fileUrl jar file URL
+     * @return if given URL is matching Jar pattern for different servers
      */
     protected boolean isJarURL(URL fileUrl) {
         Matcher jarMatcher = JAR_PATTERN.matcher(fileUrl.getPath());

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java
index 5ca0934..553f1a4 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java
@@ -26,9 +26,12 @@ import org.xml.sax.SAXException;
 import org.xml.sax.helpers.AttributesImpl;
 
 /**
+ * <p>
  * A class to handle location information stored in attributes.
  * These attributes are typically setup using {@link com.opensymphony.xwork2.util.location.LocationAttributes.Pipe}
  * which augments the SAX stream with additional attributes, e.g.:
+ * </p>
+ *
  * <pre>
  * &lt;root xmlns:loc="http://struts.apache.org/xwork/location"
  *       loc:src="file://path/to/file.xml"
@@ -39,7 +42,6 @@ import org.xml.sax.helpers.AttributesImpl;
  * 
  * @see com.opensymphony.xwork2.util.location.LocationAttributes.Pipe
  * @since 2.1.8
- * @version $Id$
  */
 public class LocationAttributes {
     /** Prefix for the location namespace */
@@ -178,6 +180,9 @@ public class LocationAttributes {
     
     /**
      * Same as <code>getLocation(elem, null)</code>.
+     *
+     * @param elem the element that holds the location information
+     * @return a {@link Location} object
      */
     public static Location getLocation(Element elem) {
         return getLocation(elem, null);

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java
index ca101ca..01b14ba 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java
@@ -40,7 +40,8 @@ public class LocationImpl implements Location, Serializable {
 
     /**
      * Build a location for a given URI, with unknown line and column numbers.
-     * 
+     *
+     * @param description description for location
      * @param uri the resource URI
      */
     public LocationImpl(String description, String uri) {
@@ -49,7 +50,8 @@ public class LocationImpl implements Location, Serializable {
 
     /**
      * Build a location for a given URI and line and column numbers.
-     * 
+     *
+     * @param description description for location
      * @param uri the resource URI
      * @param line the line number (starts at 1)
      * @param column the column number (starts at 1)
@@ -78,6 +80,9 @@ public class LocationImpl implements Location, Serializable {
     
     /**
      * Create a location from an existing one, but with a different description
+     *
+     * @param description description for location
+     * @param location location object
      */
     public LocationImpl(String description, Location location) {
         this(description, location.getURI(), location.getLineNumber(), location.getColumnNumber());
@@ -140,9 +145,8 @@ public class LocationImpl implements Location, Serializable {
     }
     
     /**
-     * Gets a source code snippet with the default padding
-     *
      * @param padding The amount of lines before and after the error to include
+     * @return a source code snippet with the default padding
      */
     public List<String> getSnippet(int padding) {
         List<String> snippet = new ArrayList<>();
@@ -199,6 +203,8 @@ public class LocationImpl implements Location, Serializable {
     
     /**
      * Ensure serialized unknown location resolve to {@link Location#UNKNOWN}.
+     *
+     * @return resolved location as object
      */
     private Object readResolve() {
         return this.equals(Location.UNKNOWN) ? Location.UNKNOWN : this;

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java
index 892d3c7..ef1d921 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java
@@ -62,7 +62,9 @@ public class LocationUtils {
      * "<code><em>descripton</em> - <em>uri</em>:<em>line</em>:<em>column</em></code>"
      * format (e.g. "<code>foo - file://path/to/file.xml:3:40</code>"). For {@link Location#UNKNOWN an unknown location}, returns
      * {@link #UNKNOWN_STRING}.
-     * 
+     *
+     * @param location location object
+     *
      * @return the string representation
      */
     public static String toString(Location location) {

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
index 66cc005..733bce3 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
@@ -86,6 +86,15 @@ public class ObjectProfiler {
     /**
      * A profiled call {@link Method#invoke(java.lang.Object, java.lang.Object[])}. If {@link UtilTimerStack#isActive() }
      * returns false, then no profiling is performed.
+     *
+     * @param target target method
+     * @param value value
+     * @param args arguments
+     *
+     * @return target object
+     *
+     * @throws IllegalAccessException in case of access errors
+     * @throws InvocationTargetException in case of invocation errors
      */
     public static Object profiledInvoke(Method target, Object value, Object[] args) throws IllegalAccessException, InvocationTargetException {
         //if we are not active - then do nothing
@@ -93,7 +102,7 @@ public class ObjectProfiler {
             return target.invoke(value, args);
         }
 
-        String logLine = new String(getTrimmedClassName(target) + "." + target.getName() + "()");
+        String logLine = getTrimmedClassName(target) + "." + target.getName() + "()";
 
         UtilTimerStack.push(logLine);
         try {
@@ -114,6 +123,10 @@ public class ObjectProfiler {
 
     /**
      * Given a method, get the Method name, with no package information.
+     *
+     * @param method method
+     *
+     * @return method name, with no package information
      */
     public static String getTrimmedClassName(Method method) {
         String classname = method.getDeclaringClass().getName();

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
index a475c62..b94f0ab 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
@@ -80,9 +80,9 @@ public class ProfilingTimerBean implements java.io.Serializable {
     }
 
     /**
-     * Get a formatted string representing all the methods that took longer than a specified time.
+     * @param minTime minimum time
+     * @return  a formatted string representing all the methods that took longer than a specified time.
      */
-
     public String getPrintable(long minTime) {
         return getPrintable("", minTime);
     }

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
index deeaa1c..092cb8d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
@@ -83,10 +83,10 @@ import org.apache.logging.log4j.Logger;
  *  <li>creation of DefaultActionProxy
  *      <ul>
  *          <li>creation of DefaultActionInvocation</li>
- *      <ul>
+ *      </ul>
  *  </li>
  *  <li>creation of Action</li>
- *  <li>execution of DefaultActionProxy</li>
+ *  <li>execution of DefaultActionProxy
  *      <ul>
  *          <li>invocation of DefaultActionInvocation
  *              <ul>
@@ -97,6 +97,7 @@ import org.apache.logging.log4j.Logger;
  *              </ul>
  *          </li>
  *      </ul>
+ *  </li>
  * </ul>
  *
  * <!-- END SNIPPET: profilingAspect_xwork -->
@@ -245,7 +246,7 @@ import org.apache.logging.log4j.Logger;
  * <!-- START SNIPPET: method2 -->
  *
  *   String result = UtilTimerStack.profile(&quot;purchaseItem: &quot;,
- *       new UtilTimerStack.ProfilingBlock<String>() {
+ *       new UtilTimerStack.ProfilingBlock&lt;String&gt;() {
  *            public String doProfiling() {
  *               // do some code
  *               return &quot;Ok&quot;;
@@ -320,7 +321,7 @@ public class UtilTimerStack {
     }
 
     /**
-     * End a preformance profiling with the <code>name</code> given. Deal with
+     * End a performance profiling with the <code>name</code> given. Deal with
      * profile hierarchy automatically, so caller don't have to be concern about it.
      *
      * @param name profile name
@@ -366,7 +367,7 @@ public class UtilTimerStack {
      * Get the min time for this profiling, it searches for a System property
      * 'xwork.profile.mintime' and default to 0.
      *
-     * @return long
+     * @return min time for this profiling
      */
     private static long getMinTime() {
         try {
@@ -387,9 +388,7 @@ public class UtilTimerStack {
     }
 
     /**
-     * Turn profiling on or off.
-     *
-     * @param active
+     * @param active Turn profiling on or off.
      */
     public static void setActive(boolean active) {
         if (active) {
@@ -415,7 +414,7 @@ public class UtilTimerStack {
      * <pre>
      * 	 // we need a returning result
      *   String result = UtilTimerStack.profile("purchaseItem: ",
-     *       new UtilTimerStack.ProfilingBlock<String>() {
+     *       new UtilTimerStack.ProfilingBlock&lt;String&gt;() {
      *            public String doProfiling() {
      *               getMyService().purchaseItem(....)
      *               return "Ok";
@@ -428,7 +427,7 @@ public class UtilTimerStack {
      * <pre>
      *   // we don't need a returning result
      *   UtilTimerStack.profile("purchaseItem: ",
-     *       new UtilTimerStack.ProfilingBlock<String>() {
+     *       new UtilTimerStack.ProfilingBlock&lt;String&gt;() {
      *            public String doProfiling() {
      *               getMyService().purchaseItem(....)
      *               return null;
@@ -440,7 +439,7 @@ public class UtilTimerStack {
      * @param name  profile name
      * @param block code block subjected to profiling
      * @return T
-     * @throws Exception
+     * @throws Exception in case of any errors
      */
     public static <T> T profile(String name, ProfilingBlock<T> block) throws Exception {
         UtilTimerStack.push(name);
@@ -456,8 +455,7 @@ public class UtilTimerStack {
      * of coding boiler code that does pushing (UtilTimerBean.push(...)) and poping (UtilTimerBean.pop(...))
      * in a try ... finally ... block.
      *
-     * @param <T>
-     * @version $Date$ $Id$
+     * @param <T> type
      */
     public static interface ProfilingBlock<T> {
 
@@ -465,7 +463,7 @@ public class UtilTimerStack {
          * Method that execute the code subjected to profiling.
          *
          * @return profiles Type
-         * @throws Exception
+         * @throws Exception in case of any errors
          */
         T doProfiling() throws Exception;
     }

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
index 8caa039..9534ebc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
@@ -99,7 +99,8 @@ public class ReflectionContextState {
 	 * return myProp.myMap.myKey.
      * </p>
 	 *
-	 * @param context
+	 * @param context context map
+	 * @return  current property path
 	 */
 	public static String getCurrentPropertyPath(Map<String, Object> context) {
 		return (String)context.get(CURRENT_PROPERTY_PATH);
@@ -156,7 +157,7 @@ public class ReflectionContextState {
 	}
 
 	/**
-	 *
+	 *@param context the context map
 	 */
 	public static void clearCurrentPropertyPath(Map<String, Object> context) {
 		context.put(CURRENT_PROPERTY_PATH, null);

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
index 5e40fd3..029163e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
@@ -40,14 +40,22 @@ public interface ReflectionProvider {
      * Sets the properties on the object using the default context, defaulting to not throwing
      * exceptions for problems setting the properties.
      *
-     * @param properties
-     * @param o
+     * @param properties property map
+     * @param o object
      */
     void setProperties(Map<String, ?> properties, Object o);
     
     /**
      *  This method returns a PropertyDescriptor for the given class and property name using
      * a Map lookup (using getPropertyDescriptorsMap()).
+     *
+     * @param targetClass target class of the property descriptor
+     * @param propertyName  property name
+     *
+     * @return PropertyDescriptor for the given class and property name
+     *
+     * @throws IntrospectionException in case of introspection error
+     * @throws ReflectionException in case of reflection problems
      */
     PropertyDescriptor getPropertyDescriptor(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException;
 
@@ -69,7 +77,11 @@ public interface ReflectionProvider {
      * Looks for the real target with the specified property given a root Object which may be a
      * CompoundRoot.
      *
+     * @param property specified property
+     * @param context the context
+     * @param root the root object
      * @return the real target or null if no object can be found with the specified property
+     * @throws ReflectionException in case of reflection problems
      */
     Object getRealTarget(String property, Map<String, Object> context, Object root) throws ReflectionException;
     

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
index 2bfac35..c0f41fe 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
@@ -207,6 +207,7 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager
      * Builds a key for validators - used when caching validators.
      *
      * @param clazz the action.
+     * @param context context
      * @return a validator key which is the class name plus context.
      */
     protected static String buildValidatorKey(Class clazz, String context) {

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java
index b640996..779cdf8 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java
@@ -68,12 +68,12 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
     }
 
     public List<ValidatorConfig> parseActionValidatorConfigs(ValidatorFactory validatorFactory, InputStream is, final String resourceName) {
-        List<ValidatorConfig> validatorCfgs = new ArrayList<ValidatorConfig>();
+        List<ValidatorConfig> validatorCfgs = new ArrayList<>();
 
         InputSource in = new InputSource(is);
         in.setSystemId(resourceName);
 
-        Map<String, String> dtdMappings = new HashMap<String, String>();
+        Map<String, String> dtdMappings = new HashMap<>();
         dtdMappings.put("-//Apache Struts//XWork Validator 1.0//EN", "xwork-validator-1.0.dtd");
         dtdMappings.put("-//Apache Struts//XWork Validator 1.0.2//EN", "xwork-validator-1.0.2.dtd");
         dtdMappings.put("-//Apache Struts//XWork Validator 1.0.3//EN", "xwork-validator-1.0.3.dtd");
@@ -112,7 +112,7 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
         InputSource in = new InputSource(is);
         in.setSystemId(resourceName);
 
-        Map<String, String> dtdMappings = new HashMap<String, String>();
+        Map<String, String> dtdMappings = new HashMap<>();
         dtdMappings.put("-//Apache Struts//XWork Validator Config 1.0//EN", "xwork-validator-config-1.0.dtd");
         dtdMappings.put("-//Apache Struts//XWork Validator Definition 1.0//EN", "xwork-validator-definition-1.0.dtd");
 
@@ -142,6 +142,9 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
      * and EntityReference nodes into a single String value, excluding Comment nodes.
      * This method is based on a method originally found in DomUtils class of Springframework.
      *
+     * @param valueEle the given DOM element
+     * @return the text value
+     *
      * @see org.w3c.dom.CharacterData
      * @see org.w3c.dom.EntityReference
      * @see org.w3c.dom.Comment
@@ -185,7 +188,7 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
             ValidatorConfig.Builder vCfg = new ValidatorConfig.Builder(validatorType)
                     .addParams(params)
                     .location(DomHelper.getLocationObject(validatorElement))
-                    .shortCircuit(Boolean.valueOf(validatorElement.getAttribute("short-circuit")).booleanValue());
+                    .shortCircuit(Boolean.valueOf(validatorElement.getAttribute("short-circuit")));
 
             NodeList messageNodes = validatorElement.getElementsByTagName("message");
             Element messageElement = (Element) messageNodes.item(0);
@@ -213,7 +216,7 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
                 // </message>
 
                 if (messageParams.containsKey("defaultMessage")) {
-                    vCfg.defaultMessage(messageParams.get("defaultMessage").toString());
+                    vCfg.defaultMessage(messageParams.get("defaultMessage"));
                 }
 
                 // Sort the message param. those with keys as '1', '2', '3' etc. (numeric values)
@@ -223,7 +226,7 @@ public class DefaultValidatorFileParser implements ValidatorFileParser {
 
                     try {
                         int _order = Integer.parseInt(messageParamEntry.getKey());
-                        sortedMessageParameters.put(Integer.valueOf(_order), messageParamEntry.getValue().toString());
+                        sortedMessageParameters.put(_order, messageParamEntry.getValue());
                     }
                     catch (NumberFormatException e) {
                         // ignore if its not numeric.

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java b/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java
index 7033b5d..41a42b0 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java
@@ -39,6 +39,10 @@ public class DelegatingValidatorContext implements ValidatorContext {
     /**
      * Creates a new validation context given a ValidationAware object, and a text and locale provider. These objects
      * are used internally to set errors and get and set error text.
+     *
+     * @param validationAware  a validation aware object
+     * @param textProvider  a text provider
+     * @param localeProvider a local provider
      */
     public DelegatingValidatorContext(ValidationAware validationAware, TextProvider textProvider,
                                       LocaleProvider localeProvider) {

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java
index 651270d..dde5044 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java
@@ -31,7 +31,7 @@ public interface ShortCircuitableValidator {
      * @param shortcircuit <tt>true</tt> if this field validator should short circuit on
      *                     failure, <tt>false</tt> otherwise
      */
-    public void setShortCircuit(boolean shortcircuit);
+    void setShortCircuit(boolean shortcircuit);
 
     /**
      * Gets whether this field validator should short circuit the validator queue
@@ -40,5 +40,5 @@ public interface ShortCircuitableValidator {
      * @return <tt>true</tt> if this field validator should short circuit on failure,
      *         <tt>false</tt> otherwise
      */
-    public boolean isShortCircuit();
+    boolean isShortCircuit();
 }

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
index a7811e0..4f34468 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
@@ -261,20 +261,29 @@ public class ValidationInterceptor extends MethodFilterInterceptor {
     }
     
     /**
+     * <p>
      * Returns the context that will be used by the
      * {@link ActionValidatorManager} to associate the action invocation with
      * the appropriate {@link ValidatorConfig ValidatorConfigs}.
+     * </p>
+     *
      * <p>
      * The context returned is used in the pattern
      * <i>ActionClass-context-validation.xml</i>
+     * </p>
+     *
      * <p>
      * The default context is the action name from the URL, but the method can
      * be overridden to implement custom contexts.
+     * </p>
+     *
      * <p>
      * This can be useful in cases in which a single action and a single model
      * require vastly different validation based on some condition.
-     * 
-     * @return the Context
+     * </p>
+     *
+     * @param proxy action proxy
+     * @return the context (action name)
      */
     protected String getValidationContext(ActionProxy proxy) {
         // This method created for WW-3753

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
index 5cff3f8..43dda0f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
@@ -32,20 +32,20 @@ import com.opensymphony.xwork2.util.ValueStack;
  * that are not inherently tied to a single specified field. When you declare a
  * plain Validator in your -validation.xml file you do not associate a fieldname
  * attribute with it. (You should avoid using plain Validators within the
- * <field-validator> syntax described below.)</p>
+ * &lt;field-validator&gt; syntax described below.)</p>
  *
  * <p>FieldValidators (such as the EmailValidator) are designed to perform
  * validation checks on a single field. They require that you specify a fieldname
  * attribute in your -validation.xml file. There are two different (but equivalent)
- * XML syntaxes you can use to declare FieldValidators (see "<validator> vs.
- * <field-Validator> syntax&quot; below).</p>
+ * XML syntaxes you can use to declare FieldValidators (see "&lt;validator&gt; vs.
+ * &lt;field-Validator&gt; syntax&quot; below).</p>
  *
  * <p>There are two places where the differences between the two validator flavors
  * are important to keep in mind:</p>
  *
  * <ol>
  * <li> when choosing the xml syntax used for declaring a validator
- * (either <validator> or <field-validator>)</li>
+ * (either &lt;validator&gt; or &lt;field-validator&gt;)</li>
  * <li> when using the short-circuit capability</li>
  * </ol>
  *
@@ -124,7 +124,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *    &lt;!-- Declaring a plain Validator using the &lt;validator&gt; syntax: --&gt;
  *
  *    &lt;validator type=&quot;expression&gt;
- *          &lt;param name=&quot;expression&quot;>foo gt bar&lt;/param&gt;
+ *          &lt;param name=&quot;expression&quot;&gt;foo gt bar&lt;/param&gt;
  *          &lt;message&gt;foo must be great than bar.&lt;/message&gt;
  *    &lt;/validator&gt;
  * <!-- END SNIPPET: nonFieldValidatorUsingValidatorSyntax -->
@@ -137,7 +137,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *    &lt;validator type=&quot;required&quot;&gt;
  *         &lt;param name=&quot;fieldName&quot;&gt;bar&lt;/param&gt;
  *         &lt;message&gt;You must enter a value for bar.&lt;/message&gt;
- *    &lt/validator&gt;
+ *    &lt;/validator&gt;
  * <!-- END SNIPPET: fieldValidatorUsingValidatorSyntax -->
  * </pre>
  *
@@ -158,7 +158,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <p><b>NOTE:</b>
  * Note that you should only use FieldValidators (not plain Validators) within a
- * <field-validator> block. A plain Validator inside a &lt;field&gt; will not be
+ * &lt;field-validator&gt; block. A plain Validator inside a &lt;field&gt; will not be
  * allowed and would generate error when parsing the xml, as it is not allowed in
  * the defined dtd (xwork-validator-1.0.2.dtd)</p>
  * <!-- END SNIPPET: validatorVsFieldValidators2 -->
@@ -180,13 +180,13 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  *
  * <!-- START SNIPPET: validatorVsFieldValidators3 -->
- * <p>The choice is yours. It's perfectly legal to only use <validator> elements
- * without the <field> elements and set the fieldName attribute for each of them.
+ * <p>The choice is yours. It's perfectly legal to only use &lt;validator&gt; elements
+ * without the &lt;field&gt; elements and set the fieldName attribute for each of them.
  * The following are effectively equal:</p>
  * <!-- END SNIPPET: validatorVsFieldValidators3 -->
  *
  * <pre>
- * <!-- START SNIPPET: similarVaidatorDeclaredInDiffSyntax -->
+ * <!-- START SNIPPET: similarValidatorDeclaredInDiffSyntax -->
  * &lt;field name=&quot;email_address&quot;&gt;
  *   &lt;field-validator type=&quot;required&quot;&gt;
  *       &lt;message&gt;You cannot leave the email address field empty.&lt;/message&gt;
@@ -205,7 +205,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *   &lt;param name=&quot;fieldName&quot;&gt;email_address&lt;/param&gt;
  *   &lt;message&gt;The email address you entered is not valid.&lt;/message&gt;
  * &lt;/validator&gt;
- * <!-- END SNIPPET: similarVaidatorDeclaredInDiffSyntax -->
+ * <!-- END SNIPPET: similarValidatorDeclaredInDiffSyntax -->
  * </pre>
  *
  *
@@ -294,8 +294,8 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <p><b>Short cuircuiting and validator flavours</b></p>
  * <p>A FieldValidator that gets short-circuited will only prevent other
  * FieldValidators for the same field from being evaluated. Note that this
- * &quot;same field&quot; behavior applies regardless of whether the <validator> or
- * <field-validator> syntax was used to declare the validation rule.
+ * &quot;same field&quot; behavior applies regardless of whether the &lt;validator&gt; or
+ * &lt;field-validator&gt; syntax was used to declare the validation rule.
  * By way of example, given this -validation.xml file:</p>
  * <!-- END SNIPPET: scAndValidatorFlavours1 -->
  *
@@ -307,7 +307,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * &lt;/validator&gt;
  *
  * &lt;validator type=&quot;expression&quot;&gt;
- *   &lt;param name=&quot;expression&quot;>foo gt bar&lt;/param&gt;
+ *   &lt;param name=&quot;expression&quot;&gt;foo gt bar&lt;/param&gt;
  *   &lt;message&gt;foo must be great than bar.&lt;/message&gt;
  * &lt;/validator&gt;
  * <!-- END SNIPPET: exScAndValidatorFlavours -->

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java
index 490f34e..da6292f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java
@@ -41,7 +41,7 @@ public class ValidatorConfig extends Located {
     private String[] messageParams;
     
     /**
-     * @param validatorType
+     * @param validatorType validator type
      */
     protected ValidatorConfig(String validatorType) {
         this.type = validatorType;

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
index 76bc3da..f3bb27a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
@@ -39,7 +39,7 @@ package com.opensymphony.xwork2.validator;
  *
  * <p><b>Note:</b>
  * <!-- START SNIPPET: turningOnValidators -->
- * The default validationWorkflowStack already includes this.<br/>
+ * The default validationWorkflowStack already includes this.<br>
  * All that is required to enable validation for an Action is to put the
  * ValidationInterceptor in the interceptor refs of the action (see xwork.xml) like so:
  * <!-- END SNIPPET: turningOnValidators -->
@@ -81,9 +81,9 @@ package com.opensymphony.xwork2.validator;
  * <!-- END SNIPPET: validatorsNote -->
  * </p>
  *
- * <p><b>VALIDATION RULES:</b>
+ * <p><b>VALIDATION RULES:</b></p>
  * <!-- START SNIPPET: validationRules1 -->
- * Validation rules can be specified:
+ * <p>Validation rules can be specified:</p>
  * <ol>
  *  <li> Per Action class: in a file named ActionName-validation.xml</li>
  *  <li> Per Action alias: in a file named ActionName-alias-validation.xml</li>
@@ -91,9 +91,8 @@ package com.opensymphony.xwork2.validator;
  *  XWork searches up the inheritance tree of the action to find default
  *  validations for parent classes of the Action and interfaces implemented</li>
  * </ol>
- * Here is an example for SimpleAction-validation.xml:
+ * <p>Here is an example for SimpleAction-validation.xml:</p>
  * <!-- END SNIPPET: validationRules1 -->
- * <p>
  *
  * <pre>
  * <!-- START SNIPPET: exValidationRules1 -->
@@ -105,7 +104,7 @@ package com.opensymphony.xwork2.validator;
  *           &lt;message&gt;You must enter a value for bar.&lt;/message&gt;
  *       &lt;/field-validator&gt;
  *       &lt;field-validator type="int"&gt;
- *           &lt;param name="min">6&lt;/param&gt;
+ *           &lt;param name="min"&gt;6&lt;/param&gt;
  *           &lt;param name="max"&gt;10&lt;/param&gt;
  *           &lt;message&gt;bar must be between ${min} and ${max}, current value is ${bar}.&lt;/message&gt;
  *       &lt;/field-validator&gt;
@@ -201,11 +200,10 @@ package com.opensymphony.xwork2.validator;
  *
  * <pre>
  * <!-- START SNIPPET: exValidationRules4 -->
- *    <message>${getText("validation.failednotice")}! ${getText("reason")}: ${getText("validation.inputrequired")}</message>
+ *    &lt;message&gt;${getText("validation.failednotice")}! ${getText("reason")}: ${getText("validation.inputrequired")}&lt;/message&gt;
  * <!-- END SNIPPET: exValidationRules4 -->
  * </pre>
  *
- * @version $Date$ $Id$
  * @author Jason Carreira
  * @author James House
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
index 2c9e39d..25b8b11 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
@@ -30,6 +30,7 @@ public interface ValidatorFileParser {
      * Parse resource for a list of ValidatorConfig objects (configuring which validator(s) are
      * being applied to a particular field etc.)
      *
+     * @param validatorFactory a validator factory
      * @param is input stream to the resource
      * @param resourceName file name of the resource
      * @return List list of ValidatorConfig
@@ -39,6 +40,7 @@ public interface ValidatorFileParser {
     /**
      * Parses validator definitions (register various validators with XWork).
      *
+     * @param validators map of validators
      * @param is The input stream
      * @param resourceName The location of the input stream
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
index e609250..3830774 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
@@ -31,7 +31,7 @@ import java.lang.annotation.Target;
  * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
- * <table class='confluenceTable'>
+ * <table class='confluenceTable' summary=''>
  * <tr>
  * <th class='confluenceTh'> Parameter </th>
  * <th class='confluenceTh'> Required </th>
@@ -84,7 +84,7 @@ import java.lang.annotation.Target;
  * <td class='confluenceTd'> appendPrefix </td>
  * <td class='confluenceTd'> no </td>
  * <td class='confluenceTd'> true </td>
- * <td class='confluenceTd'> Determines whether the field name of this field validator should be prepended to the field name of the visited field to determine the full field name when an error occurs.  For example, suppose that the bean being validated has a "name" property.  If <em>appendPrefix</em> is true, then the field error will be stored under the field "bean.name".  If <em>appendPrefix</em> is false, then the field error will be stored under the field "name".  <br clear="all" /> <img class="emoticon" src="/images/icons/emoticons/warning.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, you should set <em>appendPrefix</em> to false unless you are using "model.name" to reference the properties on your model. </td>
+ * <td class='confluenceTd'> Determines whether the field name of this field validator should be prepended to the field name of the visited field to determine the full field name when an error occurs.  For example, suppose that the bean being validated has a "name" property.  If <em>appendPrefix</em> is true, then the field error will be stored under the field "bean.name".  If <em>appendPrefix</em> is false, then the field error will be stored under the field "name".  <br> <img class="emoticon" src="/images/icons/emoticons/warning.gif" height="16" width="16" alt="" style="border: 0px; align: middle;"> If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, you should set <em>appendPrefix</em> to false unless you are using "model.name" to reference the properties on your model. </td>
  * </tr>
  * </table>
  * <!-- END SNIPPET: parameters -->
@@ -93,7 +93,7 @@ import java.lang.annotation.Target;
  *
  * <pre>
  * <!-- START SNIPPET: example -->
- * &#64;ConditionalVisitorFieldValidator(expression="app.appid > 100",  message = "Default message", key = "i18n.key", shortCircuit = true, context = "action alias", appendPrefix = true)
+ * &#64;ConditionalVisitorFieldValidator(expression="app.appid &gt; 100",  message = "Default message", key = "i18n.key", shortCircuit = true, context = "action alias", appendPrefix = true)
  * <!-- END SNIPPET: example -->
  * </pre>
  *
@@ -107,6 +107,8 @@ public @interface ConditionalVisitorFieldValidator {
      * Determines the context to use for validating the Object property.
      * If not defined, the context of the Action validator is propagated to the Object property validator.
      * In the case of Action validator, this context is the Action alias.
+     *
+     * @return the context
      */
     String context() default "";
 
@@ -121,32 +123,34 @@ public @interface ConditionalVisitorFieldValidator {
      * If you are using the ConditionalVisitorFieldValidator to validate the model from a ModelDriven Action,
      * you should set appendPrefix to false unless you are using "model.name" to reference the properties
      * on your model.
+     *
+     * @return if append prefix
      */
     boolean appendPrefix() default true;
 
     /**
-     * The conditional expression.
+     * @return The conditional expression.
      */
     String expression();
 
     /**
-     * The default error message for this validator.
+     * @return The default error message for this validator.
      * NOTE: It is required to set a message, if you are not using the message key for 18n lookup!
      */
     String message() default "";
 
     /**
-     * The message key to lookup for i18n.
+     * @return The message key to lookup for i18n.
      */
     String key() default "";
 
     /**
-     * Additional params to be used to customize message - will be evaluated against the Value Stack
+     * @return Additional params to be used to customize message - will be evaluated against the Value Stack
      */
     String[] messageParams() default {};
 
     /**
-     * The optional fieldName for SIMPLE validator types.
+     * @return The optional fieldName for SIMPLE validator types.
      */
     String fieldName() default "";
 
@@ -155,6 +159,7 @@ public @interface ConditionalVisitorFieldValidator {
      *
      * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
+     * @return true if validator will be used as short-circuit. Default is false.
      */
     boolean shortCircuit() default false;
     

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
index 2777f7a..b1f4585 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
@@ -36,7 +36,7 @@ import java.lang.annotation.Target;
  * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
- * <table class='confluenceTable'>
+ * <table class='confluenceTable' summary=''>
  * <tr>
  * <th class='confluenceTh'> Parameter </th>
  * <th class='confluenceTh'> Required </th>
@@ -97,23 +97,23 @@ import java.lang.annotation.Target;
 public @interface ConversionErrorFieldValidator {
 
     /**
-     * The default error message for this validator.
+     * @return The default error message for this validator.
      * NOTE: It is required to set a message, if you are not using the message key for 18n lookup!
      */
     String message() default "";
 
     /**
-     * The message key to lookup for i18n.
+     * @return The message key to lookup for i18n.
      */
     String key() default "";
 
     /**
-     * Additional params to be used to customize message - will be evaluated against the Value Stack
+     * @return Additional params to be used to customize message - will be evaluated against the Value Stack
      */
     String[] messageParams() default {};
 
     /**
-     * The optional fieldName for SIMPLE validator types.
+     * @return The optional fieldName for SIMPLE validator types.
      */
     String fieldName() default "";
 
@@ -122,16 +122,17 @@ public @interface ConversionErrorFieldValidator {
      *
      * Adds the short-circuit="true" attribute value if <tt>true</tt>.
      *
+     * @return true if validator will be used as short-circuit. Default is false.
      */
     boolean shortCircuit() default false;
 
     /**
-     * Defines to repopulate field or not after validation, default false
+     * @return Defines to repopulate field or not after validation, default false
      */
     boolean repopulateField() default false;
 
     /**
-     * The validation type for this field/method.
+     * @return The validation type for this field/method.
      */
     ValidatorType type() default ValidatorType.FIELD;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
index e0305fd..f8c89e9 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
@@ -35,7 +35,7 @@ import java.lang.annotation.Target;
  * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
- * <table class='confluenceTable'>
+ * <table class='confluenceTable' summary=''>
  * <tr>
  * <th class='confluenceTh'> Parameter </th>
  * <th class='confluenceTh'> Required </th>
@@ -99,12 +99,12 @@ public @interface CustomValidator {
     String type();
 
     /**
-     * The optional fieldName for SIMPLE validator types.
+     * @return The optional fieldName for SIMPLE validator types.
      */
     String fieldName() default "";
 
     /**
-     * The default error message for this validator.
+     * @return The default error message for this validator.
      * NOTE: It is required to set a message, if you are not using the message key for 18n lookup!
      */
     String message() default "";
@@ -112,7 +112,7 @@ public @interface CustomValidator {
     String key() default "";
 
     /**
-     * Additional params to be used to customize message - will be evaluated against the Value Stack
+     * @return Additional params to be used to customize message - will be evaluated against the Value Stack
      */
     String[] messageParams() default {};
 

http://git-wip-us.apache.org/repos/asf/struts/blob/775c82a7/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
index 47900c9..30c4d84 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
@@ -35,7 +35,7 @@ import java.lang.annotation.Target;
  * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
- * <table class='confluenceTable'>
+ * <table class='confluenceTable' summary=''>
  * <tr>
  * <th class='confluenceTh'> Parameter </th>
  * <th class='confluenceTh'> Required </th>
@@ -134,48 +134,52 @@ import java.lang.annotation.Target;
 public @interface DateRangeFieldValidator {
 
     /**
-     *  Date property. The minimum the date must be.
+     *  Date property.
+     *
+     *  @return The minimum the date must be.
      */
     String min() default "";
 
     /**
-     * An expression which will be evaluated against the Value Stack to get the min value
+     * @return An expression which will be evaluated against the Value Stack to get the min value
      */
     String minExpression() default "";
 
     /**
-     *  Date property. The maximum date can be.
+     *  Date property.
+     *
+     *  @return The maximum date can be.
      */
     String max() default "";
 
     /**
-     * An expression which will be evaluated against the Value Stack to get the max value
+     * @return An expression which will be evaluated against the Value Stack to get the max value
      */
     String maxExpression() default "";
 
     /**
-     * Date format used to parse min and max value
+     * @return Date format used to parse min and max value
      */
     String dateFormat() default "";
 
     /**
-     * The default error message for this validator.
+     * @return The default error message for this validator.
      * NOTE: It is required to set a message, if you are not using the message key for 18n lookup!
      */
     String message() default "";
 
     /**
-     * The message key to lookup for i18n.
+     * @return The message key to lookup for i18n.
      */
     String key() default "";
 
     /**
-     * Additional params to be used to customize message - will be evaluated against the Value Stack
+     * @return Additional params to be used to customize message - will be evaluated against the Value Stack
      */
     String[] messageParams() default {};
 
     /**
-     * The optional fieldName for SIMPLE validator types.
+     * @return The optional fieldName for SIMPLE validator types.
      */
     String fieldName() default "";
 
@@ -183,12 +187,12 @@ public @interface DateRangeFieldValidator {
      * If this is activated, the validator will be used as short-circuit.
      *
      * Adds the short-circuit="true" attribute value if <tt>true</tt>.
-     *
+     * @return true if validator will be used as short-circuit. Default is false.
      */
     boolean shortCircuit() default false;
 
     /**
-     * The validation type for this field/method.
+     * @return The validation type for this field/method.
      */
     ValidatorType type() default ValidatorType.FIELD;