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/16 22:02:36 UTC
[5/6] struts git commit: Fix wrong closing HTML tags in javadoc
comments
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
index a46cf34..34b6920 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
@@ -27,12 +27,13 @@ import java.util.Set;
/**
* <!-- START SNIPPET: javadoc -->
- *
+ *
+ * <p>
* MethodFilterInterceptor is an abstract <code>Interceptor</code> used as
* a base class for interceptors that will filter execution based on method
* names according to specified included/excluded method lists.
*
- * <p/>
+ * </p>
*
* Settable parameters are as follows:
*
@@ -41,13 +42,13 @@ import java.util.Set;
* <li>includeMethods - method names to be included in interceptor processing</li>
* </ul>
*
- * <p/>
+ * <p>
*
* <b>NOTE:</b> If method name are available in both includeMethods and
* excludeMethods, it will be considered as an included method:
* includeMethods takes precedence over excludeMethods.
*
- * <p/>
+ * </p>
*
* Interceptors that extends this capability include:
*
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
index 06a91b5..afc6edc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
@@ -26,15 +26,16 @@ import com.opensymphony.xwork2.util.ValueStack;
*
* Watches for {@link ModelDriven} actions and adds the action's model on to the value stack.
*
- * <p/> <b>Note:</b> The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
+ * <p> <b>Note:</b> The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
* {@link ParametersInterceptor} if you want the parameters to be applied to the model.
- *
- * <p/> <b>Note:</b> The ModelDrivenInterceptor will only push the model into the stack when the
+ * </p>
+ * <p> <b>Note:</b> The ModelDrivenInterceptor will only push the model into the stack when the
* model is not null, else it will be ignored.
+ * </p>
*
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
*
@@ -49,9 +50,7 @@ import com.opensymphony.xwork2.util.ValueStack;
*
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
*
* <!-- START SNIPPET: extending -->
*
@@ -59,14 +58,14 @@ import com.opensymphony.xwork2.util.ValueStack;
*
* <!-- END SNIPPET: extending -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
- * <action name="someAction" class="com.examples.SomeAction">
- * <interceptor-ref name="modelDriven"/>
- * <interceptor-ref name="basicStack"/>
- * <result name="success">good_result.ftl</result>
+ * <action name="someAction" class="com.examples.SomeAction">
+ * <interceptor-ref name="modelDriven"/>
+ * <interceptor-ref name="basicStack"/>
+ * <result name="success">good_result.ftl</result>
* </action>
* <!-- END SNIPPET: example -->
* </pre>
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
index 8db8fbc..2de46b1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
@@ -17,14 +17,16 @@ package com.opensymphony.xwork2.interceptor;
/**
- * Marker interface to incidate no auto setting of parameters.
- * <p/>
+ * Marker interface to indicate no auto setting of parameters.
+ *
+ * <p>
* This marker interface should be implemented by actions that do not want any
* request parameters set on them automatically (by the ParametersInterceptor).
* This may be useful if one is using the action tag and want to supply
* the parameters to the action manually using the param tag.
* It may also be useful if one for security reasons wants to make sure that
* parameters cannot be set by malicious users.
+ * </p>
*
* @author Dick Zetterberg (dick@transitor.se)
*/
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
index 865eeb8..eac4d8b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
@@ -241,9 +241,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
*
* @param ac The action context
* @param newParams The parameter map to apply
- * <p/>
+ * <p>
* In this class this is a no-op, since the parameters were fetched from the same location.
* In subclasses both retrieveParameters() and addParametersToContext() should be overridden.
+ * </p>
*/
protected void addParametersToContext(ActionContext ac, Map<String, Object> newParams) {
}
@@ -468,9 +469,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
/**
* Sets a comma-delimited list of regular expressions to match
* parameters that are allowed in the parameter map (aka whitelist).
- * <p/>
+ * <p>
* Don't change the default unless you know what you are doing in terms
* of security implications.
+ * </p>
*
* @param commaDelim A comma-delimited list of regular expressions
*/
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
index 5a6e5a1..bbf8277 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
@@ -23,16 +23,16 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
+ * <p>
* A utility class for invoking prefixed methods in action class.
*
* Interceptors that made use of this class are:
+ * </p>
* <ul>
* <li>DefaultWorkflowInterceptor</li>
* <li>PrepareInterceptor</li>
* </ul>
- *
- * <p/>
- *
+ * *
* <!-- START SNIPPET: javadocDefaultWorkflowInterceptor -->
*
* <b>In DefaultWorkflowInterceptor</b>
@@ -70,37 +70,45 @@ public class PrefixMethodInvocationUtil {
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
/**
+ * <p>
* This method will prefix <code>actionInvocation</code>'s <code>ActionProxy</code>'s
* <code>method</code> with <code>prefixes</code> before invoking the prefixed method.
* Order of the <code>prefixes</code> is important, as this method will return once
* a prefixed method is found in the action class.
- *
- * <p/>
- *
+ * </p>
+ *
+ * <p>
* For example, with
+ * </p>
+ *
* <pre>
* invokePrefixMethod(actionInvocation, new String[] { "prepare", "prepareDo" });
* </pre>
- *
+ *
+ * <p>
* Assuming <code>actionInvocation.getProxy(),getMethod()</code> returns "submit",
* the order of invocation would be as follows:-
+ * </p>
+ *
* <ol>
* <li>prepareSubmit()</li>
* <li>prepareDoSubmit()</li>
* </ol>
- *
+ *
+ * <p>
* If <code>prepareSubmit()</code> exists, it will be invoked and this method
* will return, <code>prepareDoSubmit()</code> will NOT be invoked.
- *
- * <p/>
- *
+ * </p>
+ *
+ * <p>
* On the other hand, if <code>prepareDoSubmit()</code> does not exists, and
* <code>prepareDoSubmit()</code> exists, it will be invoked.
- *
- * <p/>
- *
+ * </p>
+ *
+ * <p>
* If none of those two methods exists, nothing will be invoked.
- *
+ * </p>
+ *
* @param actionInvocation the action invocation
* @param prefixes prefixes for method names
* @throws InvocationTargetException is thrown if invocation of a method failed.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
index 6a327c3..e1d0b52 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
@@ -31,7 +31,8 @@ import java.lang.reflect.InvocationTargetException;
* {@link Preparable}. This interceptor is very useful for any situation where
* you need to ensure some logic runs before the actual execute method runs.
*
- * <p/> A typical use of this is to run some logic to load an object from the
+ * <p>
+ * A typical use of this is to run some logic to load an object from the
* database so that when parameters are set they can be set on this object. For
* example, suppose you have a User object with two properties: <i>id</i> and
* <i>name</i>. Provided that the params interceptor is called twice (once
@@ -39,21 +40,24 @@ import java.lang.reflect.InvocationTargetException;
* the id property, and then when the second params interceptor is called the
* parameter <i>user.name</i> will be set, as desired, on the actual object
* loaded from the database. See the example for more info.
- *
- * <p/>
+ * </p>
+ * <p>
* <b>Note:</b> Since XWork 2.0.2, this interceptor extends {@link MethodFilterInterceptor}, therefore being
* able to deal with excludeMethods / includeMethods parameters. See [Workflow Interceptor]
* (class {@link DefaultWorkflowInterceptor}) for documentation and examples on how to use this feature.
+ * </p>
*
- * <p/><b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
+ * <p>
+ * <b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
* the a general prepare() Method, depending on the 'alwaysInvokePrepare' parameter/property
* which is by default true. This allows us to run some logic based on the method
* name we specify in the {@link com.opensymphony.xwork2.ActionProxy}. For example, you can specify a
* prepareInput() method that will be run before the invocation of the input method.
+ * </p>
*
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
*
@@ -66,9 +70,7 @@ import java.lang.reflect.InvocationTargetException;
*
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
*
* <!-- START SNIPPET: extending -->
*
@@ -76,7 +78,7 @@ import java.lang.reflect.InvocationTargetException;
*
* <!-- END SNIPPET: extending -->
*
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
@@ -107,9 +109,10 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
private boolean firstCallPrepareDo = false;
/**
- * Sets if the <code>preapare</code> method should always be executed.
- * <p/>
+ * Sets if the <code>prepare</code> method should always be executed.
+ * <p>
* Default is <tt>true</tt>.
+ * </p>
*
* @param alwaysInvokePrepare if <code>prepare</code> should always be executed or not.
*/
@@ -119,9 +122,9 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
/**
* Sets if the <code>prepareDoXXX</code> method should be called first
- * <p/>
+ * <p>
* Default is <tt>false</tt> for backward compatibility
- *
+ * </p>
* @param firstCallPrepareDo if <code>prepareDoXXX</code> should be called first
*/
public void setFirstCallPrepareDo(String firstCallPrepareDo) {
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
index 9d32fbe..858a33e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
@@ -30,12 +30,12 @@ import java.util.Map;
*
* An interceptor that enables scoped model-driven actions.
*
- * <p/>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface. If
- * detected, it will retrieve the model class from the configured scope, then provide it to the Action.
+ * <p>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface. If
+ * detected, it will retrieve the model class from the configured scope, then provide it to the Action.</p>
*
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
*
@@ -51,9 +51,7 @@ import java.util.Map;
*
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
*
* <!-- START SNIPPET: extending -->
*
@@ -61,7 +59,7 @@ import java.util.Map;
*
* <!-- END SNIPPET: extending -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
index e47af30..934dd54 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
@@ -39,11 +39,11 @@ import java.util.TreeMap;
* implements {@link Parameterizable}, a map of the static parameters will be also be passed directly to the action.
* The static params will be added to the request params map, unless "merge" is set to false.
*
- * <p/> Parameters are typically defined with <param> elements within xwork.xml.
+ * <p> Parameters are typically defined with <param> elements within xwork.xml.</p>
*
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
*
@@ -55,15 +55,15 @@ import java.util.TreeMap;
*
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Extending the interceptor:</u>
+ * <p><u>Extending the interceptor:</u></p>
*
* <!-- START SNIPPET: extending -->
*
- * <p/>There are no extension points to this interceptor.
+ * <p>There are no extension points to this interceptor.</p>
*
* <!-- END SNIPPET: extending -->
*
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
index 5aa19b6..53c72f1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
@@ -113,8 +113,6 @@ public interface ValidationAware {
/**
* Checks whether there are any action errors or field errors.
- * <p/>
- * <b>Note</b>: that this does not have the same meaning as in WW 1.x.
*
* @return <code>(hasActionErrors() || hasFieldErrors())</code>
*/
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
index 3fc2fcd..978a49a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
@@ -26,14 +26,14 @@ import java.lang.annotation.Target;
* executed. Return value is ignored.
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
* The After annotation can be applied at method level.
*
* <!-- END SNIPPET: usage -->
*
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table class='confluenceTable'>
@@ -52,7 +52,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
index f978e46..327d2c6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
@@ -17,13 +17,16 @@ import java.util.Map;
/**
* Annotation based version of {@link ParameterFilterInterceptor}.
- * <p/>
+ *
+ * <p>
* This {@link Interceptor} must be placed in the stack before the {@link ParametersInterceptor}
* When a parameter matches a field that is marked {@link Blocked} then it is removed from
* the parameter map.
- * <p/>
+ * </p>
+ * <p>
* If an {@link Action} class is marked with {@link BlockByDefault} then all parameters are
* removed unless a field on the Action exists and is marked with {@link Allowed}
+ * </p>
*
* @author martin.gilday
*/
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
index 665ed1c..dbe4315 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
@@ -30,50 +30,49 @@ import java.util.List;
/**
* <!-- START SNIPPET: javadoc -->
* <p>Invokes any annotated methods on the action. Specifically, it supports the following
- * annotations:
+ * annotations:</p>
* <ul>
* <li> @{@link Before} - will be invoked before the action method. If the returned value is not null, it is
* returned as the action result code</li>
* <li> @{@link BeforeResult} - will be invoked after the action method but before the result execution</li>
* <li> @{@link After} - will be invoked after the action method and result execution</li>
* </ul>
- * </p>
- * <p/>
+ *
* <p>There can be multiple methods marked with the same annotations, but the order of their execution
* is not guaranteed. However, the annotated methods on the superclass chain are guaranteed to be invoked before the
* annotated method in the current class in the case of a {@link Before} annotations and after, if the annotations is
* {@link After}.</p>
* <!-- END SNIPPET: javadoc -->
- * <p/>
+ *
* <pre>
* <!-- START SNIPPET: javacode -->
* public class BaseAnnotatedAction {
* protected String log = "";
- * <p/>
+ *
* @Before
* public String baseBefore() {
* log = log + "baseBefore-";
* return null;
* }
* }
- * <p/>
+ *
* public class AnnotatedAction extends BaseAnnotatedAction {
* @Before
* public String before() {
* log = log + "before";
* return null;
* }
- * <p/>
+ *
* public String execute() {
* log = log + "-execute";
* return Action.SUCCESS;
* }
- * <p/>
+ *
* @BeforeResult
* public void beforeResult() throws Exception {
* log = log +"-beforeResult";
* }
- * <p/>
+ *
* @After
* public void after() {
* log = log + "-after";
@@ -81,13 +80,13 @@ import java.util.List;
* }
* <!-- END SNIPPET: javacode -->
* </pre>
- * <p/>
+ *
* <!-- START SNIPPET: example -->
* <p>With the interceptor applied and the action executed on <code>AnnotatedAction</code> the log
* instance variable will contain <code>baseBefore-before-execute-beforeResult-after</code>.</p>
* <!-- END SNIPPET: example -->
- * <p/>
- * <p/>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:
+ *
+ * <p>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:</p>
* <pre>
* <!-- START SNIPPET: stack -->
* <interceptor-stack name="annotatedStack">
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
index cb0e555..fb546de 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
* Marks a action method that needs to be executed before the main action method.
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
* The Before annotation can be applied at method level.
*
* <!-- END SNIPPET: usage -->
*
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table class='confluenceTable'>
@@ -51,7 +51,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p<u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
index faeb400..44825bd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
* Marks a action method that needs to be executed before the result. Return value is ignored.
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
* The BeforeResult annotation can be applied at method level.
*
* <!-- END SNIPPET: usage -->
*
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table class='confluenceTable'>
@@ -51,7 +51,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
index 5d70744..33f7ab1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
@@ -27,14 +27,14 @@ import com.opensymphony.xwork2.Action;
* Marks a action method that if it's not validated by ValidationInterceptor then execute input method or input result.
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
* The InputConfig annotation can be applied at method level.
*
* <!-- END SNIPPET: usage -->
*
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table class='confluenceTable'>
@@ -59,7 +59,7 @@ import com.opensymphony.xwork2.Action;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
*
* <pre>
* <!-- START SNIPPET: example -->
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
index 6475957..bc30d57 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
@@ -32,10 +32,14 @@ import java.util.HashMap;
import java.util.Map;
/**
+ * <p>
* Simple implementation of the ObjectFactory that makes use of Spring's application context if one has been configured,
- * before falling back on the default mechanism of instantiating a new class using the class name. <p/> In order to use
- * this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
+ * before falling back on the default mechanism of instantiating a new class using the class name.
+ * </p>
+ * <p>
+ * In order to use this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
* before the xwork.xml file is parsed. In a servlet environment, this could be done using a ServletContextListener.
+ * </p>
*
* @author Simon Stewart (sms@lateral.net)
*/
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
index fe02ca5..7c11b85 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
@@ -77,16 +77,20 @@ public class ActionAutowiringInterceptor extends AbstractInterceptor implements
}
/**
+ * <p>
* Looks for the <code>ApplicationContext</code> under the attribute that the Spring listener sets in
* the servlet context. The configuration is done the first time here instead of in init() since the
* <code>ActionContext</code> is not available during <code>Interceptor</code> initialization.
- * <p/>
+ * </p>
+ *
+ * <p>
* Autowires the action to Spring beans and places the <code>ApplicationContext</code>
* on the <code>ActionContext</code>
- * <p/>
- * TODO Should this check to see if the <code>SpringObjectFactory</code> has already been configured
- * instead of instantiating a new one? Or is there a good reason for the interceptor to have it's own
- * factory?
+ * </p>
+ *
+ * <p>
+ * TODO: Should this check to see if the <code>SpringObjectFactory</code> has already been configured instead of instantiating a new one? Or is there a good reason for the interceptor to have it's own factory?
+ * </p>
*
* @param invocation
* @throws Exception
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
index 919f5af..46cfe9f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
@@ -24,10 +24,10 @@ import java.util.*;
/**
* This class is extremely useful for loading resources and classes in a fault tolerant manner
* that works across different applications servers.
- * <p/>
+ * <p>
* It has come out of many months of frustrating use of multiple application servers at Atlassian,
* please don't change things unless you're sure they're not going to break in one server or another!
- *
+ * </p>
*/
public class ClassLoaderUtil {
@@ -73,8 +73,10 @@ public class ClassLoaderUtil {
/**
* Load a given resource.
- * <p/>
+ * <p>
* This method will try to load the resource using the following methods (in order):
+ * </p>
+ *
* <ul>
* <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
* <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
@@ -125,14 +127,19 @@ public class ClassLoaderUtil {
}
/**
+ * <p>
* Load a class with a given name.
- * <p/>
+ * </p>
+ *
+ * <p>
* It will try to load the class in the following order:
+ * </p>
+ *
* <ul>
- * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
- * <li>Using the basic {@link Class#forName(java.lang.String) }
- * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
- * <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
+ * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
+ * <li>Using the basic {@link Class#forName(java.lang.String) }
+ * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
+ * <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
* </ul>
*
* @param className The name of the class to load
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
index 050ec2a..0ab63b6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
/**
* <!-- START SNIPPET: description -->
- * <p/>Sets the CreateIfNull for type conversion.
+ * <p>Sets the CreateIfNull for type conversion.</p>
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
- * <p/>The CreateIfNull annotation must be applied at field or method level.
+ * <p>The CreateIfNull annotation must be applied at field or method level.</p>
* <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
* <pre>
* <!-- START SNIPPET: example -->
* @CreateIfNull( value = true )
@@ -63,7 +63,6 @@ import java.lang.annotation.Target;
* </pre>
*
* @author Rainer Hermanns
- * @version $Id$
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Element.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Element.java b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
index 30903d2..de66d1f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Element.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
/**
* <!-- START SNIPPET: description -->
- * <p/>Sets the Element for type conversion.
+ * <p>Sets the Element for type conversion.</p>
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
- * <p/>The Element annotation must be applied at field or method level.
+ * <p>The Element annotation must be applied at field or method level.</p>
* <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
* <pre>
* <!-- START SNIPPET: example -->
* // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -67,7 +67,6 @@ import java.lang.annotation.Target;
* </pre>
*
* @author Rainer Hermanns
- * @version $Id$
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Key.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Key.java b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
index c1b0fc8..5d2fb6d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Key.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
/**
* <!-- START SNIPPET: description -->
- * <p/>Sets the Key for type conversion.
+ * <p>Sets the Key for type conversion.</p>
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
- * <p/>The Key annotation must be applied at field or method level.
+ * <p>The Key annotation must be applied at field or method level.</p>
* <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
* <pre>
* <!-- START SNIPPET: example -->
* // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -64,7 +64,6 @@ import java.lang.annotation.Target;
* </pre>
*
* @author Rainer Hermanns
- * @version $Id$
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
index 8832bee..396af47 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
@@ -23,16 +23,16 @@ import java.lang.annotation.Target;
/**
* <!-- START SNIPPET: description -->
- * <p/>Sets the KeyProperty for type conversion.
+ * <p>Sets the KeyProperty for type conversion.</p>
* <!-- END SNIPPET: description -->
*
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
*
* <!-- START SNIPPET: usage -->
- * <p/>The KeyProperty annotation must be applied at field or method level.
- * <p/>This annotation should be used with Generic types, if the key property of the key element needs to be specified.
+ * <p>The KeyProperty annotation must be applied at field or method level.</p>
+ * <p>This annotation should be used with Generic types, if the key property of the key element needs to be specified.</p>
* <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
*
* <!-- START SNIPPET: parameters -->
* <table>
@@ -55,7 +55,7 @@ import java.lang.annotation.Target;
* </table>
* <!-- END SNIPPET: parameters -->
*
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
* <pre>
* <!-- START SNIPPET: example -->
* // The key property for User objects within the users collection is the <code>userName</code> attribute.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/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 2d9afa2..2372499 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -42,10 +42,10 @@ import java.util.concurrent.ConcurrentMap;
/**
* Provides support for localization in XWork.
- * <p/>
+ *
* <!-- START SNIPPET: searchorder -->
- * Resource bundles are searched in the following order:<p/>
- * <p/>
+ * <p>Resource bundles are searched in the following order:</p>
+ *
* <ol>
* <li>ActionClass.properties</li>
* <li>Interface.properties (every interface and sub-interface)</li>
@@ -55,11 +55,11 @@ import java.util.concurrent.ConcurrentMap;
* <li>search up the i18n message key hierarchy itself</li>
* <li>global resource properties</li>
* </ol>
- * <p/>
+ *
* <!-- END SNIPPET: searchorder -->
- * <p/>
+ *
* <!-- START SNIPPET: packagenote -->
- * To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:<p/>
+ * <p>To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:</p>
* com/<br/>
* acme/<br/>
* package.properties<br/>
@@ -67,22 +67,22 @@ import java.util.concurrent.ConcurrentMap;
* package.properties<br/>
* FooAction.java<br/>
* FooAction.properties<br/>
- * <p/>
+ * <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.
- * <p/>
+ * </p>
* <!-- END SNIPPET: packagenote -->
- * <p/>
+ *
* <!-- START SNIPPET: globalresource -->
- * A global resource bundle could be specified programatically, as well as the locale.
- * <p/>
+ * <p>
+ * A global resource bundle could be specified programmatically, as well as the locale.
+ * </p>
* <!-- END SNIPPET: globalresource -->
*
* @author Jason Carreira
* @author Mark Woon
* @author Rainer Hermanns
* @author tm_jee
- * @version $Date$ $Id$
*/
public class LocalizedTextUtil {
@@ -132,8 +132,9 @@ public class LocalizedTextUtil {
/**
* Add's the bundle to the internal list of default bundles.
- * <p/>
+ * <p>
* If the bundle already exists in the list it will be readded.
+ * </p>
*
* @param resourceBundleName the name of the bundle to add.
*/
@@ -250,9 +251,10 @@ public class LocalizedTextUtil {
}
/**
- * Finds the given resorce bundle by it's name.
- * <p/>
+ * Finds the given resource bundle by it's name.
+ * <p>
* Will use <code>Thread.currentThread().getContextClassLoader()</code> as the classloader.
+ * </p>
*
* @param aBundleName the name of the bundle (usually it's FQN classname).
* @param locale the locale.
@@ -328,10 +330,12 @@ public class LocalizedTextUtil {
}
/**
+ * <p>
* Finds a localized text message for the given key, aTextName. Both the key and the message
* itself is evaluated as required. The following algorithm is used to find the requested
* message:
- * <p/>
+ * </p>
+ *
* <ol>
* <li>Look for message in aClass' class hierarchy.
* <ol>
@@ -350,19 +354,25 @@ public class LocalizedTextUtil {
* <li>If still not found, look for the message in the default resource bundles.</li>
* <li>Return defaultMessage</li>
* </ol>
- * <p/>
+ *
+ * <p>
* When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
* message for that specific key cannot be found, the general form will also be looked up
* (i.e. user.phone[*]).
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is found, it will also be interpolated. Anything within <code>${...}</code>
* will be treated as an OGNL expression and evaluated as such.
+ * </p>
*
* @param aClass the class whose name to use as the start point for the search
* @param aTextName the key to find the text message for
* @param locale the locale the message should be for
* @param defaultMessage the message to be returned if no text message can be found in any
* resource bundle
+ * @param args arguments
+ * resource bundle
* @return the localized text, or null if none can be found and no defaultMessage is provided
*/
public static String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) {
@@ -372,10 +382,12 @@ public class LocalizedTextUtil {
}
/**
+ * <p>
* Finds a localized text message for the given key, aTextName. Both the key and the message
* itself is evaluated as required. The following algorithm is used to find the requested
* message:
- * <p/>
+ * </p>
+ *
* <ol>
* <li>Look for message in aClass' class hierarchy.
* <ol>
@@ -394,21 +406,28 @@ public class LocalizedTextUtil {
* <li>If still not found, look for the message in the default resource bundles.</li>
* <li>Return defaultMessage</li>
* </ol>
- * <p/>
+ *
+ * <p>
* When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
* message for that specific key cannot be found, the general form will also be looked up
* (i.e. user.phone[*]).
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is found, it will also be interpolated. Anything within <code>${...}</code>
* will be treated as an OGNL expression and evaluated as such.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is <b>not</b> found a WARN log will be logged.
+ * </p>
*
* @param aClass the class whose name to use as the start point for the search
* @param aTextName the key to find the text message for
* @param locale the locale the message should be for
* @param defaultMessage the message to be returned if no text message can be found in any
* resource bundle
+ * @param args arguments
* @param valueStack the value stack to use to evaluate expressions instead of the
* one in the ActionContext ThreadLocal
* @return the localized text, or null if none can be found and no defaultMessage is provided
@@ -581,11 +600,15 @@ public class LocalizedTextUtil {
}
/**
+ * <p>
* Finds a localized text message for the given key, aTextName, in the specified resource bundle
* with aTextName as the default message.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is found, it will also be interpolated. Anything within <code>${...}</code>
* will be treated as an OGNL expression and evaluated as such.
+ * </p>
*
* @see #findText(java.util.ResourceBundle, String, java.util.Locale, String, Object[])
*/
@@ -594,13 +617,19 @@ public class LocalizedTextUtil {
}
/**
+ * <p>
* Finds a localized text message for the given key, aTextName, in the specified resource
* bundle.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is found, it will also be interpolated. Anything within <code>${...}</code>
* will be treated as an OGNL expression and evaluated as such.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is <b>not</b> found a WARN log will be logged.
+ * </p>
*
* @param bundle the bundle
* @param aTextName the key
@@ -614,13 +643,19 @@ public class LocalizedTextUtil {
}
/**
+ * <p>
* Finds a localized text message for the given key, aTextName, in the specified resource
* bundle.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is found, it will also be interpolated. Anything within <code>${...}</code>
* will be treated as an OGNL expression and evaluated as such.
- * <p/>
+ * </p>
+ *
+ * <p>
* If a message is <b>not</b> found a WARN log will be logged.
+ * </p>
*
* @param bundle the bundle
* @param aTextName the key
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
index a25a679..04cb3e7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
@@ -21,13 +21,17 @@ import java.util.ArrayList;
import java.util.List;
/**
+ * <p>
* This class is used to read properties lines. These lines do
* not terminate with new-line chars but rather when there is no
* backslash sign a the end of the line. This is used to
* concatenate multiple lines for readability.
- * <p/>
+ * </p>
+ *
+ * <p>
* This class was pulled out of Jakarta Commons Configuration and
* Jakarta Commons Lang trunk revision 476093
+ * </p>
*/
public class PropertiesReader extends LineNumberReader {
/**
@@ -403,7 +407,7 @@ public class PropertiesReader extends LineNumberReader {
/**
* <p>Checks if the object is in the given array.</p>
- * <p/>
+ *
* <p>The method returns <code>false</code> if a <code>null</code> array is passed in.</p>
*
* @param array the array to search through
@@ -449,11 +453,11 @@ public class PropertiesReader extends LineNumberReader {
/**
* <p>Unescapes any Java literals found in the <code>String</code> to a
* <code>Writer</code>.</p>
- * <p/>
+ *
* <p>For example, it will turn a sequence of <code>'\'</code> and
* <code>'n'</code> into a newline character, unless the <code>'\'</code>
* is preceded by another <code>'\'</code>.</p>
- * <p/>
+ *
* <p>A <code>null</code> string input has no effect.</p>
*
* @param out the <code>Writer</code> used to output unescaped characters
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/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 db1af6d..fe6f76e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -56,7 +56,7 @@ public class TextParseUtil {
* could be null, if it is it will just be skipped as if it is just calling
* {@link #translateVariables(char, String, ValueStack)}.
*
- * <p/>
+ * <br>
*
* 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.
@@ -266,24 +266,24 @@ public class TextParseUtil {
/**
+ * <p>
* A parsed value evaluator for {@link TextParseUtil}. It could be supplied by
* calling {@link TextParseUtil#translateVariables(char, String, ValueStack, Class, ParsedValueEvaluator)}.
+ * </p>
*
- * <p/>
- *
+ * <p>
* By supplying this <code>ParsedValueEvaluator</code>, the parsed value
* (parsed against the value stack) value will be
* given to <code>ParsedValueEvaluator</code> to be evaluated before the
* translateVariable process goes on.
+ * </p>
*
- * <p/>
- *
+ * <p>
* A typical use-case would be to have a custom <code>ParseValueEvaluator</code>
* to URL Encode the parsed value.
+ * </p>
*
* @author tm_jee
- *
- * @version $Date$ $Id$
*/
public static interface ParsedValueEvaluator {
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
index 2a50197..fa1f05b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
@@ -52,13 +52,17 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Inserts the specified element at the specified position in this list. Shifts the element
* currently at that position (if any) and any subsequent elements to the right (adds one to
* their indices).
- * <p/>
+ * </p>
+ *
+ * <p>
* This method is guaranteed to work since it will create empty beans to fill the gap between
* the current list size and the requested index to enable the element to be set. This method
* also performs any necessary type conversion.
+ * </p>
*
* @param index index at which the specified element is to be inserted.
* @param element element to be inserted.
@@ -75,9 +79,13 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Appends the specified element to the end of this list.
- * <p/>
+ * </p>
+ *
+ * <p>
* This method performs any necessary type conversion.
+ * </p>
*
* @param element element to be appended to this list.
* @return <tt>true</tt> (as per the general contract of Collection.add).
@@ -90,13 +98,17 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Appends all of the elements in the specified Collection to the end of this list, in the order
* that they are returned by the specified Collection's Iterator. The behavior of this
* operation is undefined if the specified Collection is modified while the operation is in
* progress. (This implies that the behavior of this call is undefined if the specified
* Collection is this list, and this list is nonempty.)
- * <p/>
+ * </p>
+ *
+ * <p>
* This method performs any necessary type conversion.
+ * </p>
*
* @param collection the elements to be inserted into this list.
* @return <tt>true</tt> if this list changed as a result of the call.
@@ -116,14 +128,18 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Inserts all of the elements in the specified Collection into this list, starting at the
* specified position. Shifts the element currently at that position (if any) and any
* subsequent elements to the right (increases their indices). The new elements will appear in
* the list in the order that they are returned by the specified Collection's iterator.
- * <p/>
+ * </p>
+ *
+ * <p>
* This method is guaranteed to work since it will create empty beans to fill the gap between
* the current list size and the requested index to enable the element to be set. This method
* also performs any necessary type conversion.
+ * </p>
*
* @param index index at which to insert first element from the specified collection.
* @param collection elements to be inserted into this list.
@@ -153,10 +169,14 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Returns the element at the specified position in this list.
- * <p/>
+ * </p>
+ *
+ * <p>
* An object is guaranteed to be returned since it will create empty beans to fill the gap
* between the current list size and the requested index.
+ * </p>
*
* @param index index of element to return.
* @return the element at the specified position in this list.
@@ -179,11 +199,15 @@ public class XWorkList extends ArrayList {
}
/**
+ * <p>
* Replaces the element at the specified position in this list with the specified element.
- * <p/>
+ * </p>
+ *
+ * <p>
* This method is guaranteed to work since it will create empty beans to fill the gap between
* the current list size and the requested index to enable the element to be set. This method
* also performs any necessary type conversion.
+ * </p>
*
* @param index index of element to replace.
* @param element element to be stored at the specified position.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
index 55fe34f..e44e261 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
@@ -33,12 +33,16 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
+ * <p>
* The ReloadingClassLoader uses a delegation mechanism to allow
* classes to be reloaded. That means that loadClass calls may
* return different results if the class was changed in the underlying
* ResourceStore.
- * <p/>
+ * </p>
+ *
+ * <p>
* class taken from Apache JCI
+ * </p>
*/
public class ReloadingClassLoader extends ClassLoader {
private static final Logger LOG = LogManager.getLogger(ReloadingClassLoader.class);
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
index 50fde4a..a096264 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
@@ -25,15 +25,24 @@ public interface ClassFinder {
boolean isAnnotationPresent(Class<? extends Annotation> annotation);
/**
+ * <p>
* Returns a list of classes that could not be loaded in last invoked findAnnotated* method.
- * <p/>
+ * </p>
+ *
+ * <p>
* The list will only contain entries of classes whose byte code matched the requirements
* of last invoked find* method, but were unable to be loaded and included in the results.
- * <p/>
+ * </p>
+ *
+ * <p>
* The list returned is unmodifiable. Once obtained, the returned list will be a live view of the
* results from the last findAnnotated* method call.
- * <p/>
+ * </p>
+ *
+ * <p>
* This method is not thread safe.
+ * </p>
+ *
* @return an unmodifiable live view of classes that could not be loaded in previous findAnnotated* call.
*/
List<String> getClassesNotLoaded();
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/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 c7f9fd1..75368e2 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
@@ -30,7 +30,6 @@ import java.util.jar.JarFile;
/**
* @author David Blevins
- * @version $Rev$ $Date$
*/
public class ResourceFinder {
private static final Logger LOG = LogManager.getLogger(ResourceFinder.class);
@@ -84,16 +83,22 @@ public class ResourceFinder {
}
/**
+ * <p>
* Returns a list of resources that could not be loaded in the last invoked findAvailable* or
* mapAvailable* methods.
- * <p/>
+ * </p>
+ *
+ * <p>
* The list will only contain entries of resources that match the requirements
* of the last invoked findAvailable* or mapAvailable* methods, but were unable to be
* loaded and included in their results.
- * <p/>
+ * </p>
+ *
+ * <p>
* The list returned is unmodifiable and the results of this method will change
* after each invocation of a findAvailable* or mapAvailable* methods.
- * <p/>
+ * </p>
+ *
* This method is not thread safe.
*/
public List<String> getResourcesNotLoaded() {
@@ -200,24 +205,34 @@ public class ResourceFinder {
}
/**
+ * <p>
* Reads the contents of all non-directory URLs immediately under the specified
* location and returns them in a map keyed by the file name.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URLs that cannot be read will cause an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/serializables/one
* META-INF/serializables/two
* META-INF/serializables/three
* META-INF/serializables/four/foo.txt
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAvailableStrings("serializables");
* map.contains("one"); // true
* map.contains("two"); // true
* map.contains("three"); // true
* map.contains("four"); // false
+ * </pre>
*
* @param uri
* @return a list of the content of each resource URL found
@@ -236,25 +251,35 @@ public class ResourceFinder {
}
/**
+ * <p>
* Reads the contents of all non-directory URLs immediately under the specified
* location and returns them in a map keyed by the file name.
- * <p/>
+ * </p>
+ *
+ * <p>
* Individual URLs that cannot be read are skipped and added to the
* list of 'resourcesNotLoaded'
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/serializables/one
* META-INF/serializables/two # not readable
* META-INF/serializables/three
* META-INF/serializables/four/foo.txt
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAvailableStrings("serializables");
* map.contains("one"); // true
* map.contains("two"); // false
* map.contains("three"); // true
* map.contains("four"); // false
+ * </pre>
*
* @param uri
* @return a list of the content of each resource URL found
@@ -298,10 +323,14 @@ public class ResourceFinder {
}
/**
+ * <p>
* Executes findAllStrings assuming the strings are
* the names of a classes that should be loaded and returned.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URL or class that cannot be loaded will cause an exception to be thrown.
+ * </p>
*
* @param uri
* @return
@@ -319,11 +348,15 @@ public class ResourceFinder {
}
/**
+ * <p>
* Executes findAvailableStrings assuming the strings are
* the names of a classes that should be loaded and returned.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded will be skipped and placed in the
* 'resourcesNotLoaded' collection.
+ * </p>
*
* @param uri
* @return
@@ -345,22 +378,30 @@ public class ResourceFinder {
}
/**
+ * <p>
* Executes mapAllStrings assuming the value of each entry in the
* map is the name of a class that should be loaded.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded will be cause an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ * <pre>
* META-INF/xmlparsers/xerces
* META-INF/xmlparsers/crimson
- * <p/>
+ * </pre>
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAvailableStrings("xmlparsers");
* map.contains("xerces"); // true
* map.contains("crimson"); // true
* Class xercesClass = map.get("xerces");
* Class crimsonClass = map.get("crimson");
+ * </pre>
*
* @param uri
* @return
@@ -380,23 +421,31 @@ public class ResourceFinder {
}
/**
+ * <p>
* Executes mapAvailableStrings assuming the value of each entry in the
* map is the name of a class that should be loaded.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded will be skipped and placed in the
* 'resourcesNotLoaded' collection.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ * <pre>
* META-INF/xmlparsers/xerces
* META-INF/xmlparsers/crimson
- * <p/>
+ * </pre>
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAvailableStrings("xmlparsers");
* map.contains("xerces"); // true
* map.contains("crimson"); // true
* Class xercesClass = map.get("xerces");
* Class crimsonClass = map.get("crimson");
+ * </p>
*
* @param uri
* @return
@@ -426,20 +475,28 @@ public class ResourceFinder {
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/**
+ * <p>
* Assumes the class specified points to a file in the classpath that contains
* the name of a class that implements or is a subclass of the specfied class.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded will be cause an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/java.io.InputStream # contains the classname org.acme.AcmeInputStream
* META-INF/java.io.OutputStream
- * <p/>
+ * </pre>
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Class clazz = finder.findImplementation(java.io.InputStream.class);
* clazz.getName(); // returns "org.acme.AcmeInputStream"
- *
+ * </pre>
* @param interfase a superclass or interface
* @return
* @throws IOException if the URL cannot be read
@@ -456,23 +513,33 @@ public class ResourceFinder {
}
/**
+ * <p>
* Assumes the class specified points to a file in the classpath that contains
* the name of a class that implements or is a subclass of the specfied class.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded or assigned to the specified interface will be cause
* an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/java.io.InputStream # contains the classname org.acme.AcmeInputStream
* META-INF/java.io.InputStream # contains the classname org.widget.NeatoInputStream
* META-INF/java.io.InputStream # contains the classname com.foo.BarInputStream
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List classes = finder.findAllImplementations(java.io.InputStream.class);
* classes.contains("org.acme.AcmeInputStream"); // true
* classes.contains("org.widget.NeatoInputStream"); // true
* classes.contains("com.foo.BarInputStream"); // true
+ * </pre>
*
* @param interfase a superclass or interface
* @return
@@ -494,24 +561,33 @@ public class ResourceFinder {
}
/**
+ * <p>
* Assumes the class specified points to a file in the classpath that contains
* the name of a class that implements or is a subclass of the specfied class.
- * <p/>
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded or are not assignable to the specified class will be
* skipped and placed in the 'resourcesNotLoaded' collection.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/java.io.InputStream # contains the classname org.acme.AcmeInputStream
* META-INF/java.io.InputStream # contains the classname org.widget.NeatoInputStream
* META-INF/java.io.InputStream # contains the classname com.foo.BarInputStream
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List classes = finder.findAllImplementations(java.io.InputStream.class);
* classes.contains("org.acme.AcmeInputStream"); // true
* classes.contains("org.widget.NeatoInputStream"); // true
* classes.contains("com.foo.BarInputStream"); // true
- *
+ * </pre>
* @param interfase a superclass or interface
* @return
* @throws IOException if classLoader.getResources throws an exception
@@ -536,23 +612,33 @@ public class ResourceFinder {
}
/**
+ * <p>
* Assumes the class specified points to a directory in the classpath that holds files
- * containing the name of a class that implements or is a subclass of the specfied class.
- * <p/>
+ * containing the name of a class that implements or is a subclass of the specified class.
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded or assigned to the specified interface will be cause
* an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/java.net.URLStreamHandler/jar
* META-INF/java.net.URLStreamHandler/file
* META-INF/java.net.URLStreamHandler/http
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
* Class jarUrlHandler = map.get("jar");
* Class fileUrlHandler = map.get("file");
* Class httpUrlHandler = map.get("http");
+ * </pre>
*
* @param interfase a superclass or interface
* @return
@@ -576,23 +662,33 @@ public class ResourceFinder {
}
/**
+ * <p>
* Assumes the class specified points to a directory in the classpath that holds files
- * containing the name of a class that implements or is a subclass of the specfied class.
- * <p/>
+ * containing the name of a class that implements or is a subclass of the specified class.
+ * </p>
+ *
+ * <p>
* Any class that cannot be loaded or are not assignable to the specified class will be
* skipped and placed in the 'resourcesNotLoaded' collection.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/java.net.URLStreamHandler/jar
* META-INF/java.net.URLStreamHandler/file
* META-INF/java.net.URLStreamHandler/http
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
* Class jarUrlHandler = map.get("jar");
* Class fileUrlHandler = map.get("file");
* Class httpUrlHandler = map.get("http");
+ * </pre>
*
* @param interfase a superclass or interface
* @return
@@ -626,14 +722,22 @@ public class ResourceFinder {
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/**
+ * <p>
* Finds the corresponding resource and reads it in as a properties file
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>>
* META-INF/widget.properties
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* Properties widgetProps = finder.findProperties("widget.properties");
+ * </pre>
*
* @param uri
* @return
@@ -651,18 +755,28 @@ public class ResourceFinder {
}
/**
+ * <p>
* Finds the corresponding resources and reads them in as a properties files
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URL that cannot be read in as a properties file will cause an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/app.properties
* META-INF/app.properties
* META-INF/app.properties
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List<Properties> appProps = finder.findAllProperties("app.properties");
+ * </pre>
*
* @param uri
* @return
@@ -683,19 +797,29 @@ public class ResourceFinder {
}
/**
+ * <p>
* Finds the corresponding resources and reads them in as a properties files
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URL that cannot be read in as a properties file will be added to the
* 'resourcesNotLoaded' collection.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/app.properties
* META-INF/app.properties
* META-INF/app.properties
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List<Properties> appProps = finder.findAvailableProperties("app.properties");
+ * </pre>
*
* @param uri
* @return
@@ -721,21 +845,31 @@ public class ResourceFinder {
}
/**
+ * <p>
* Finds the corresponding resources and reads them in as a properties files
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URL that cannot be read in as a properties file will cause an exception to be thrown.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/jdbcDrivers/oracle.properties
* META-INF/jdbcDrivers/mysql.props
* META-INF/jdbcDrivers/derby
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List<Properties> 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
@@ -754,22 +888,32 @@ public class ResourceFinder {
}
/**
+ * <p>
* Finds the corresponding resources and reads them in as a properties files
- * <p/>
+ * </p>
+ *
+ * <p>
* Any URL that cannot be read in as a properties file will be added to the
* 'resourcesNotLoaded' collection.
- * <p/>
+ * </p>
+ *
+ * <p>
* Example classpath:
- * <p/>
+ * </p>
+ *
+ * <pre>
* META-INF/jdbcDrivers/oracle.properties
* META-INF/jdbcDrivers/mysql.props
* META-INF/jdbcDrivers/derby
- * <p/>
+ * </pre>
+ *
+ * <pre>
* ResourceFinder finder = new ResourceFinder("META-INF/");
* List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
* Properties oracleProps = driversList.get("oracle.properties");
* Properties mysqlProps = driversList.get("mysql.props");
* Properties derbyProps = driversList.get("derby");
+ * </p>
*
* @param uri
* @return
@@ -825,7 +969,7 @@ public class ResourceFinder {
}
/**
- * Gets a list of subpckages from jars or dirs
+ * Gets a list of subpackages from jars or dirs
*/
public Set<String> findPackages(String uri) throws IOException {
String basePath = path + uri;
@@ -854,7 +998,7 @@ public class ResourceFinder {
}
/**
- * Gets a list of subpckages from jars or dirs
+ * Gets a list of subpackages from jars or dirs
*/
public Map<URL, Set<String>> findPackagesMap(String uri) throws IOException {
String basePath = path + uri;
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/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 7438113..66cc005 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
@@ -37,10 +37,15 @@ import java.lang.reflect.Proxy;
public class ObjectProfiler {
/**
+ * <p>
* Given a class, and an interface that it implements, return a proxied version of the class that implements
* the interface.
- * <p/>
+ * </p>
+ *
+ * <p>
* The usual use of this is to profile methods from Factory objects:
+ * </p>
+ *
* <pre>
* public PersistenceManager getPersistenceManager()
* {
@@ -53,8 +58,10 @@ public class ObjectProfiler {
* return ObjectProfiler.getProfiledObject(PersistenceManager.class, new DefaultPersistenceManager());
* }
* </pre>
- * <p/>
+ *
+ * <p>
* A side effect of this is that you will no longer be able to downcast to DefaultPersistenceManager. This is probably a *good* thing.
+ * </p>
*
* @param interfaceClazz The interface to implement.
* @param o The object to proxy