Commit e427fa23 authored by Christian Schudt's avatar Christian Schudt

Fixing some JavaDoc errors in order to make it build with Java 8's DocLint eventually

parent 55236937
...@@ -43,27 +43,27 @@ import java.io.IOException; ...@@ -43,27 +43,27 @@ import java.io.IOException;
* <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the * <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the
* currently selected sidebar item.</li> * currently selected sidebar item.</li>
* <li><tt>heaadercss</tt> (optional) - the CSS class name used to decorate the LI of the header * <li><tt>heaadercss</tt> (optional) - the CSS class name used to decorate the LI of the header
* section.</li></ul></p> * section.</li></ul>
* *
* <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p> * <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p>
* *
* <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each * <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each
* LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain * LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain
* a template A tag which will have its values replaced at runtime: <ul><tt> * a template A tag which will have its values replaced at runtime: <pre><tt>
* *
* &lt;jive:sidebar bean="jivepageinfo"&gt; <br> * &lt;jive:sidebar bean="jivepageinfo"&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; ... &lt;/jive:subsidebar&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; ... &lt;/jive:subsidebar&gt; <br>
* &lt;/jive:sidebar&gt;</tt></ul> * &lt;/jive:sidebar&gt;</tt></pre>
* *
* There is a subsidebar tag for rendering the sub-sidebars. For more info, see the * There is a subsidebar tag for rendering the sub-sidebars. For more info, see the
* {@link SubSidebarTag} class.</p> * {@link SubSidebarTag} class.
* *
* <p>Available tokens for the "A" tag are: <ul> * <p>Available tokens for the "A" tag are:</p> <ul>
* <li><tt>[id]</tt> - the ID of the sidebar item, usually not needed.</li> * <li><tt>[id]</tt> - the ID of the sidebar item, usually not needed.</li>
* <li><tt>[name]</tt> - the name of the sidebar item, should be thought of as the display name.</li> * <li><tt>[name]</tt> - the name of the sidebar item, should be thought of as the display name.</li>
* <li><tt>[url]</tt> - the URL of the sidebar item.</li> * <li><tt>[url]</tt> - the URL of the sidebar item.</li>
* <li><tt>[description]</tt> - the description of the sidebar item, good for mouse rollovers.</li></ul></p> * <li><tt>[description]</tt> - the description of the sidebar item, good for mouse rollovers.</li></ul>
*/ */
public class SidebarTag extends BodyTagSupport { public class SidebarTag extends BodyTagSupport {
......
...@@ -27,14 +27,14 @@ import javax.servlet.jsp.JspTagException; ...@@ -27,14 +27,14 @@ import javax.servlet.jsp.JspTagException;
* <p>A simple tag to gather its body content and pass it to the parent tag. This tag must be used * <p>A simple tag to gather its body content and pass it to the parent tag. This tag must be used
* as a child of the {@link SidebarTag}.</p> * as a child of the {@link SidebarTag}.</p>
* *
* <p>Sample usage:<ul><tt> * <p>Sample usage:</p><pre><tt>
* *
* &lt;jive:sidebar bean="jivepageinfo"&gt; <br> * &lt;jive:sidebar bean="jivepageinfo"&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; <br>
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="[url]"&gt;[name]&lt;/a&gt; <br> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="[url]"&gt;[name]&lt;/a&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;/jive:subsidebar&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;/jive:subsidebar&gt; <br>
* &lt;/jive:sidebar&gt;</tt></ul></p> * &lt;/jive:sidebar&gt;</tt></pre>
* *
* <p>Note, this class has no attributes.</p> * <p>Note, this class has no attributes.</p>
*/ */
......
...@@ -34,7 +34,7 @@ import java.io.IOException; ...@@ -34,7 +34,7 @@ import java.io.IOException;
* <p>A simple JSP tag for displaying sub-navigation bar information in the admin console. The * <p>A simple JSP tag for displaying sub-navigation bar information in the admin console. The
* {@link TabsTag} is similiar to this one.</p> * {@link TabsTag} is similiar to this one.</p>
* *
* <p>Attributes: <ul> * <p>Attributes:</p> <ul>
* <li><tt>bean</tt> (required) - the id of the request attribute which is a * <li><tt>bean</tt> (required) - the id of the request attribute which is a
* {@link AdminPageBean} instance. This class holds information * {@link AdminPageBean} instance. This class holds information
* needed to properly render the admin console sidebar.</li> * needed to properly render the admin console sidebar.</li>
...@@ -42,27 +42,27 @@ import java.io.IOException; ...@@ -42,27 +42,27 @@ import java.io.IOException;
* <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the * <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the
* currently selected sidebar item.</li> * currently selected sidebar item.</li>
* <li><tt>heaadercss</tt> (optional) - the CSS class name used to decorate the LI of the header * <li><tt>heaadercss</tt> (optional) - the CSS class name used to decorate the LI of the header
* section.</li></ul></p> * section.</li></ul>
* *
* <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p> * <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p>
* *
* <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each * <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each
* LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain * LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain
* a template A tag which will have its values replaced at runtime: <ul><tt> * a template A tag which will have its values replaced at runtime: <pre><tt>
* *
* &lt;jive:sidebar bean="jivepageinfo"&gt; <br> * &lt;jive:sidebar bean="jivepageinfo"&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; ... &lt;/jive:subsidebar&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; ... &lt;/jive:subsidebar&gt; <br>
* &lt;/jive:sidebar&gt;</tt></ul> * &lt;/jive:sidebar&gt;</tt></pre>
* *
* There is a subsidebar tag for rendering the sub-sidebars. For more info, see the * <p>There is a subsidebar tag for rendering the sub-sidebars. For more info, see the
* {@link SubSidebarTag} class.</p> * {@link SubSidebarTag} class.</p>
* *
* <p>Available tokens for the "A" tag are: <ul> * <p>Available tokens for the "A" tag are:</p> <ul>
* <li><tt>[id]</tt> - the ID of the sidebar item, usually not needed.</li> * <li><tt>[id]</tt> - the ID of the sidebar item, usually not needed.</li>
* <li><tt>[name]</tt> - the name of the sidebar item, should be thought of as the display name.</li> * <li><tt>[name]</tt> - the name of the sidebar item, should be thought of as the display name.</li>
* <li><tt>[url]</tt> - the URL of the sidebar item.</li> * <li><tt>[url]</tt> - the URL of the sidebar item.</li>
* <li><tt>[description]</tt> - the description of the sidebar item, good for mouse rollovers.</li></ul></p> * <li><tt>[description]</tt> - the description of the sidebar item, good for mouse rollovers.</li></ul>
*/ */
public class SubnavTag extends BodyTagSupport { public class SubnavTag extends BodyTagSupport {
......
...@@ -34,29 +34,29 @@ import java.util.List; ...@@ -34,29 +34,29 @@ import java.util.List;
* <p>A simple JSP tag for displaying tab information in the admin console. The * <p>A simple JSP tag for displaying tab information in the admin console. The
* {@link SidebarTag} is similiar to this one.</p> * {@link SidebarTag} is similiar to this one.</p>
* *
* <p>Attributes: <ul> * <p>Attributes:</p> <ul>
* <li><tt>bean</tt> (required) - the id of the request attribute which is a * <li><tt>bean</tt> (required) - the id of the request attribute which is a
* {@link AdminPageBean} instance. This class holds information * {@link AdminPageBean} instance. This class holds information
* needed to properly render the admin console tabs.</li> * needed to properly render the admin console tabs.</li>
* <li><tt>css</tt> (optional) - the CSS class name used to decorate the LI of the tab.</li> * <li><tt>css</tt> (optional) - the CSS class name used to decorate the LI of the tab.</li>
* <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the * <li><tt>currentcss</tt> (optional) - the CSS class name used to decorate the LI of the
* currently selected tab.</li></ul></p> * currently selected tab.</li></ul>
* *
* <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p> * <p>This class assumes there is a request attribute with the name specified by the bean attribute.</p>
* *
* <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each * <p>This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each
* LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain * LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain
* a template A tag which will have its values replaced at runtime: <ul><tt> * a template A tag which will have its values replaced at runtime:</p> <pre><tt>
* *
* &lt;jive:tabs bean="jivepageinfo"&gt; <br> * &lt;jive:tabs bean="jivepageinfo"&gt; <br>
* &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br> * &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br>
* &lt;/jive:tabs&gt;</tt></ul> * &lt;/jive:tabs&gt;</tt></pre>
* *
* Available token are: <ul> * Available token are: <ul>
* <li><tt>[id]</tt> - the ID of the tab, usually not needed.</li> * <li><tt>[id]</tt> - the ID of the tab, usually not needed.</li>
* <li><tt>[name]</tt> - the name of the tab, should be thought of as the display name.</li> * <li><tt>[name]</tt> - the name of the tab, should be thought of as the display name.</li>
* <li><tt>[url]</tt> - the URL of the tab.</li> * <li><tt>[url]</tt> - the URL of the tab.</li>
* <li><tt>[description]</tt> - the description of the tab, good for mouse rollovers.</li></ul></p> * <li><tt>[description]</tt> - the description of the tab, good for mouse rollovers.</li></ul>
*/ */
public class TabsTag extends BodyTagSupport { public class TabsTag extends BodyTagSupport {
......
...@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory; ...@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
/** /**
* Allows PreparedStatement information to be cached. A prepared statement consists of * Allows PreparedStatement information to be cached. A prepared statement consists of
* a SQL statement containing bind variables as well as variable values. For example, * a SQL statement containing bind variables as well as variable values. For example,
* the SQL statement <tt>"SELECT * FROM person WHERE age > ?"</tt> would have the integer * the SQL statement <tt>"SELECT * FROM person WHERE age &gt; ?"</tt> would have the integer
* variable <tt>18</tt> (which replaces the "?" chracter) to find all adults. This class * variable <tt>18</tt> (which replaces the "?" chracter) to find all adults. This class
* encapsulates both the SQL string and bind variable values so that actual * encapsulates both the SQL string and bind variable values so that actual
* PreparedStatement can be created from that information later. * PreparedStatement can be created from that information later.
......
...@@ -25,10 +25,10 @@ import java.sql.SQLException; ...@@ -25,10 +25,10 @@ import java.sql.SQLException;
/** /**
* Abstract class that defines the connection provider framework. Other classes * Abstract class that defines the connection provider framework. Other classes
* extend this abstract class to make connection to actual data sources.<p> * extend this abstract class to make connection to actual data sources.
* <p/> * <p>
* It is expected that each subclass be a JavaBean, so that properties of * It is expected that each subclass be a JavaBean, so that properties of
* the connection provider are exposed through bean introspection. * the connection provider are exposed through bean introspection.</p>
* *
* @author Jive Software * @author Jive Software
*/ */
......
...@@ -329,8 +329,7 @@ public class DbConnectionManager { ...@@ -329,8 +329,7 @@ public class DbConnectionManager {
* ... * ...
* } </pre> * } </pre>
* *
* @param rs the result set to close. * @param pstmt the statement to close.
* @param stmt the statement to close.
*/ */
public static void fastcloseStmt(PreparedStatement pstmt) throws SQLException public static void fastcloseStmt(PreparedStatement pstmt) throws SQLException
{ {
...@@ -357,8 +356,7 @@ public class DbConnectionManager { ...@@ -357,8 +356,7 @@ public class DbConnectionManager {
* ... * ...
* } </pre> * } </pre>
* *
* @param rs the result set to close. * @param pstmt the statement to close.
* @param stmt the statement to close.
*/ */
public static void fastcloseStmt(ResultSet rs, PreparedStatement pstmt) throws SQLException public static void fastcloseStmt(ResultSet rs, PreparedStatement pstmt) throws SQLException
{ {
...@@ -402,7 +400,6 @@ public class DbConnectionManager { ...@@ -402,7 +400,6 @@ public class DbConnectionManager {
* Closes a statement and database connection (returning the connection to * Closes a statement and database connection (returning the connection to
* the connection pool). This method should be called within the finally section of * the connection pool). This method should be called within the finally section of
* your database logic, as in the following example: * your database logic, as in the following example:
* <p/>
* <pre> * <pre>
* Connection con = null; * Connection con = null;
* PrepatedStatment pstmt = null; * PrepatedStatment pstmt = null;
...@@ -431,7 +428,6 @@ public class DbConnectionManager { ...@@ -431,7 +428,6 @@ public class DbConnectionManager {
* statements associated with the connection should be closed before calling this method. * statements associated with the connection should be closed before calling this method.
* This method should be called within the finally section of your database logic, as * This method should be called within the finally section of your database logic, as
* in the following example: * in the following example:
* <p/>
* <pre> * <pre>
* Connection con = null; * Connection con = null;
* try { * try {
......
...@@ -35,11 +35,11 @@ import org.slf4j.LoggerFactory; ...@@ -35,11 +35,11 @@ import org.slf4j.LoggerFactory;
* An implementation of ConnectionProvider that utilizes a JDBC 2.0 DataSource * An implementation of ConnectionProvider that utilizes a JDBC 2.0 DataSource
* made available via JNDI. This is useful for application servers where a pooled * made available via JNDI. This is useful for application servers where a pooled
* data connection is already provided so Jive can share the pool with the * data connection is already provided so Jive can share the pool with the
* other applications.<p> * other applications.
* <p/> * <p>
* The JNDI location of the DataSource stored as the Jive property * The JNDI location of the DataSource stored as the Jive property
* <code>database.JNDIProvider.name</code>. This can be overridden by setting * <code>database.JNDIProvider.name</code>. This can be overridden by setting
* the provider's <code>name</code> property if required. * the provider's <code>name</code> property if required.</p>
* *
* @author <a href="mailto:joe@truemesh.com">Joe Walnes</a> * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a>
* @see ConnectionProvider * @see ConnectionProvider
......
...@@ -34,18 +34,17 @@ import org.slf4j.LoggerFactory; ...@@ -34,18 +34,17 @@ import org.slf4j.LoggerFactory;
/** /**
* Manages sequences of unique ID's that get stored in the database. Database support for sequences * Manages sequences of unique ID's that get stored in the database. Database support for sequences
* varies widely; some don't use them at all. Instead, we handle unique ID generation with a * varies widely; some don't use them at all. Instead, we handle unique ID generation with a
* combination VM/database solution.<p/> * combination VM/database solution.
* * <p>
* A special table in the database doles out blocks of unique ID's to each * A special table in the database doles out blocks of unique ID's to each
* virtual machine that interacts with Jive. This has the following consequences: * virtual machine that interacts with Jive. This has the following consequences:</p>
* <ul> * <ul>
* <li>There is no need to go to the database every time we want a new unique id. * <li>There is no need to go to the database every time we want a new unique id.
* <li>Multiple app servers can interact with the same db without id collision. * <li>Multiple app servers can interact with the same db without id collision.
* <li>The order of unique id's may not correspond to the creation date of objects. * <li>The order of unique id's may not correspond to the creation date of objects.
* <li>There can be gaps in ID's after server restarts since blocks will get "lost" if the block * <li>There can be gaps in ID's after server restarts since blocks will get "lost" if the block
* size is greater than 1. * size is greater than 1.
* </ul><p/> * </ul>
*
* Each sequence type that this class manages has a different block size value. Objects that aren't * Each sequence type that this class manages has a different block size value. Objects that aren't
* created often have a block size of 1, while frequently created objects such as entries and * created often have a block size of 1, while frequently created objects such as entries and
* comments have larger block sizes. * comments have larger block sizes.
...@@ -95,10 +94,10 @@ public class SequenceManager { ...@@ -95,10 +94,10 @@ public class SequenceManager {
/** /**
* Returns the next id for an object that has defined the annotation {@link JiveID}. * Returns the next id for an object that has defined the annotation {@link JiveID}.
* The JiveID annotation value is the synonymous for the type integer.<p/> * The JiveID annotation value is the synonymous for the type integer.<p>
* *
* The annotation JiveID should contain the id type for the object (the same number you would * The annotation JiveID should contain the id type for the object (the same number you would
* use to call nextID(int type)). Example class definition: * use to call nextID(int type)). Example class definition:</p>
* <code> * <code>
* \@JiveID(10) * \@JiveID(10)
* public class MyClass { * public class MyClass {
......
...@@ -23,7 +23,6 @@ package org.jivesoftware.openfire; ...@@ -23,7 +23,6 @@ package org.jivesoftware.openfire;
/** /**
* <p>A simple meta-data class that stores several related tools for * <p>A simple meta-data class that stores several related tools for
* generic IQ protocol handling.</p> * generic IQ protocol handling.</p>
* <p/>
* <p>To handle an IQ packet, the server needs to know:</p> * <p>To handle an IQ packet, the server needs to know:</p>
* <ul> * <ul>
* <li>The fully qualified name of the iq sub-element. IQ packets are * <li>The fully qualified name of the iq sub-element. IQ packets are
...@@ -32,7 +31,6 @@ package org.jivesoftware.openfire; ...@@ -32,7 +31,6 @@ package org.jivesoftware.openfire;
* server (no 'to' attribute).</li> * server (no 'to' attribute).</li>
* <li>The IQ parser to use to generate the correct IQ packet.</li> * <li>The IQ parser to use to generate the correct IQ packet.</li>
* </ul> * </ul>
* <p/>
* <p>We provide this information by having all IQHandlers report * <p>We provide this information by having all IQHandlers report
* their info. Interested parties can watch for IQHandlers in the service * their info. Interested parties can watch for IQHandlers in the service
* lookup and build appropriate data structures on the current state of * lookup and build appropriate data structures on the current state of
......
...@@ -46,7 +46,6 @@ import java.util.List; ...@@ -46,7 +46,6 @@ import java.util.List;
* <p>In almost all cases, the caller should not be concerned with what * <p>In almost all cases, the caller should not be concerned with what
* handler is associated with a given node. Simply obtain the packet handler * handler is associated with a given node. Simply obtain the packet handler
* and deliver the packet to the node, leaving the details up to the handler.</p> * and deliver the packet to the node, leaving the details up to the handler.</p>
* <p/>
* <p>Routes are matched using the stringprep rules given in the XMPP specification. * <p>Routes are matched using the stringprep rules given in the XMPP specification.
* Wildcard routes for a particular name or resource is indicated by a null. E.g. * Wildcard routes for a particular name or resource is indicated by a null. E.g.
* routing to any address at server.com should set the name to null, the host to * routing to any address at server.com should set the name to null, the host to
...@@ -55,7 +54,6 @@ import java.util.List; ...@@ -55,7 +54,6 @@ import java.util.List;
* managers should add a route for both the generic user@server.com as well as * managers should add a route for both the generic user@server.com as well as
* user@server.com/resource routes (knowing that one is an alias for the other * user@server.com/resource routes (knowing that one is an alias for the other
* is the responsibility of the session or session manager).</p> * is the responsibility of the session or session manager).</p>
* <p/>
* <p>In order to accomodate broadcasts, you can also do partial matches by querying * <p>In order to accomodate broadcasts, you can also do partial matches by querying
* all 'child' nodes of a particular node. The routing table contains a forest of * all 'child' nodes of a particular node. The routing table contains a forest of
* node trees. The node tree is arranged in the following heirarchy:</p> * node trees. The node tree is arranged in the following heirarchy:</p>
...@@ -81,7 +79,6 @@ import java.util.List; ...@@ -81,7 +79,6 @@ import java.util.List;
* getBestRoute() if you'd like to search for both the resource leaf route, as well as a valid user * getBestRoute() if you'd like to search for both the resource leaf route, as well as a valid user
* branch for that node if no leaf exists.</li> * branch for that node if no leaf exists.</li>
* </ul> * </ul>
* <p/>
* <p>Note: it is important that any component or action affecting routes * <p>Note: it is important that any component or action affecting routes
* update the routing table immediately.</p> * update the routing table immediately.</p>
* *
......
...@@ -27,14 +27,14 @@ import java.util.Date; ...@@ -27,14 +27,14 @@ import java.util.Date;
/** /**
* Filters and sorts lists of sessions. This allows for a very rich set of possible * Filters and sorts lists of sessions. This allows for a very rich set of possible
* queries that can be run on session data. Some examples are: "Show all sessions * queries that can be run on session data. Some examples are: "Show all sessions
* started during the last hour by a certain user".<p> * started during the last hour by a certain user".
* * <p>
* The class also supports pagination of results with the setStartIndex(int) * The class also supports pagination of results with the setStartIndex(int)
* and setNumResults(int) methods. If the start index is not set, it will * and setNumResults(int) methods. If the start index is not set, it will
* begin at index 0 (the start of results). If the number of results is not set, * begin at index 0 (the start of results). If the number of results is not set,
* it will be unbounded and return as many results as available.<p> * it will be unbounded and return as many results as available.</p>
* * <p>
* Factory methods to create common queries are provided for convenience. * Factory methods to create common queries are provided for convenience.</p>
* *
* @author Matt Tucker * @author Matt Tucker
*/ */
...@@ -267,19 +267,20 @@ public class SessionResultFilter { ...@@ -267,19 +267,20 @@ public class SessionResultFilter {
* the time portion of the date is shown for brevity) <p> * the time portion of the date is shown for brevity) <p>
* *
* <table border="1"> * <table border="1">
* <caption></caption>
* <tr><th>Date</th><th>Seconds</th><th>Result</th></tr> * <tr><th>Date</th><th>Seconds</th><th>Result</th></tr>
* <tr><td>1:37.48</td><td>5</td><td>1:37.45</td></tr> * <tr><td>1:37.48</td><td>5</td><td>1:37.45</td></tr>
* <tr><td>1:37.48</td><td>10</td><td>1:37.40</td></tr> * <tr><td>1:37.48</td><td>10</td><td>1:37.40</td></tr>
* <tr><td>1:37.48</td><td>30</td><td>1:37.30</td</tr> * <tr><td>1:37.48</td><td>30</td><td>1:37.30</td></tr>
* <tr><td>1:37.48</td><td>60</td><td>1:37.00</td></tr> * <tr><td>1:37.48</td><td>60</td><td>1:37.00</td></tr>
* <tr><td>1:37.48</td><td>120</td><td>1:36.00</td></tr> * <tr><td>1:37.48</td><td>120</td><td>1:36.00</td></tr>
* </table><p> * </table>
* *
* This method is useful when calculating the last post in * <p>This method is useful when calculating the last post in
* a forum or the number of new messages from a given date. Using a rounded * a forum or the number of new messages from a given date. Using a rounded
* date allows Jive to internally cache the results of the date query. * date allows Jive to internally cache the results of the date query.
* Here's an example that shows the last posted message in a forum accurate * Here's an example that shows the last posted message in a forum accurate
* to the last 60 seconds:<p> * to the last 60 seconds:</p>
* *
* <pre> * <pre>
* SessionResultFilter filter = new SessionResultFilter(); * SessionResultFilter filter = new SessionResultFilter();
......
...@@ -100,21 +100,21 @@ import org.xmpp.packet.JID; ...@@ -100,21 +100,21 @@ import org.xmpp.packet.JID;
/** /**
* The main XMPP server that will load, initialize and start all the server's * The main XMPP server that will load, initialize and start all the server's
* modules. The server is unique in the JVM and could be obtained by using the * modules. The server is unique in the JVM and could be obtained by using the
* {@link #getInstance()} method.<p> * {@link #getInstance()} method.
* <p/> * <p>
* The loaded modules will be initialized and may access through the server other * The loaded modules will be initialized and may access through the server other
* modules. This means that the only way for a module to locate another module is * modules. This means that the only way for a module to locate another module is
* through the server. The server maintains a list of loaded modules.<p> * through the server. The server maintains a list of loaded modules.
* <p/> * </p>
* <p>
* After starting up all the modules the server will load any available plugin. * After starting up all the modules the server will load any available plugin.
* For more information see: {@link org.jivesoftware.openfire.container.PluginManager}.<p> * For more information see: {@link org.jivesoftware.openfire.container.PluginManager}.
* <p/> * </p>
* A configuration file keeps the server configuration. This information is required for the * <p>A configuration file keeps the server configuration. This information is required for the
* server to work correctly. The server assumes that the configuration file is named * server to work correctly. The server assumes that the configuration file is named
* <b>openfire.xml</b> and is located in the <b>conf</b> folder. The folder that keeps * <b>openfire.xml</b> and is located in the <b>conf</b> folder. The folder that keeps
* the configuration file must be located under the home folder. The server will try different * the configuration file must be located under the home folder. The server will try different
* methods to locate the home folder. * methods to locate the home folder.</p>
* <p/>
* <ol> * <ol>
* <li><b>system property</b> - The server will use the value defined in the <i>openfireHome</i> * <li><b>system property</b> - The server will use the value defined in the <i>openfireHome</i>
* system property.</li> * system property.</li>
......
...@@ -25,7 +25,6 @@ import org.xmpp.packet.Packet; ...@@ -25,7 +25,6 @@ import org.xmpp.packet.Packet;
/** /**
* <p>Use auditors to audit events and messages on the server.</p> * <p>Use auditors to audit events and messages on the server.</p>
* <p/>
* <p>All events and messages are sent to the auditor for recording. * <p>All events and messages are sent to the auditor for recording.
* The auditor will determine if auditing should take place, and what * The auditor will determine if auditing should take place, and what
* to do with the data.</p> * to do with the data.</p>
......
...@@ -30,14 +30,14 @@ public interface ClusterEventListener { ...@@ -30,14 +30,14 @@ public interface ClusterEventListener {
/** /**
* Notification event indicating that this JVM is now part of a cluster. At this point the * Notification event indicating that this JVM is now part of a cluster. At this point the
* {@link org.jivesoftware.openfire.XMPPServer#getNodeID()} holds the new nodeID value.<p> * {@link org.jivesoftware.openfire.XMPPServer#getNodeID()} holds the new nodeID value.
* *
* When joining the cluster as the senior cluster member the {@link #markedAsSeniorClusterMember()} * <p>When joining the cluster as the senior cluster member the {@link #markedAsSeniorClusterMember()}
* event will be sent right after this event.<p> * event will be sent right after this event.</p>
* *
* At this point the CacheFactory holds clustered caches. That means that modifications * <p>At this point the CacheFactory holds clustered caches. That means that modifications
* to the caches will be reflected in the cluster. The clustered caches were just * to the caches will be reflected in the cluster. The clustered caches were just
* obtained from the cluster and no local cached data was automatically moved.<p> * obtained from the cluster and no local cached data was automatically moved.</p>
*/ */
void joinedCluster(); void joinedCluster();
......
...@@ -24,7 +24,7 @@ import org.jivesoftware.openfire.XMPPServer; ...@@ -24,7 +24,7 @@ import org.jivesoftware.openfire.XMPPServer;
/** /**
* A default Module implementation that basically avoids subclasses having to implement the whole * A default Module implementation that basically avoids subclasses having to implement the whole
* Module interface.</p> * Module interface.
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
...@@ -60,7 +60,6 @@ public class BasicModule implements Module { ...@@ -60,7 +60,6 @@ public class BasicModule implements Module {
/** /**
* <p>Initializes the basic module.</p> * <p>Initializes the basic module.</p>
* <p/>
* <p>Inheriting classes that choose to override this method MUST * <p>Inheriting classes that choose to override this method MUST
* call this initialize() method before accessing BasicModule resources.</p> * call this initialize() method before accessing BasicModule resources.</p>
* *
...@@ -71,7 +70,6 @@ public class BasicModule implements Module { ...@@ -71,7 +70,6 @@ public class BasicModule implements Module {
/** /**
* <p>Starts the basic module.</p> * <p>Starts the basic module.</p>
* <p/>
* <p>Inheriting classes that choose to override this method MUST * <p>Inheriting classes that choose to override this method MUST
* call this start() method before accessing BasicModule resources.</p> * call this start() method before accessing BasicModule resources.</p>
* *
...@@ -83,7 +81,6 @@ public class BasicModule implements Module { ...@@ -83,7 +81,6 @@ public class BasicModule implements Module {
/** /**
* <p>Stops the basic module.</p> * <p>Stops the basic module.</p>
* <p/>
* <p>Inheriting classes that choose to override this method MUST * <p>Inheriting classes that choose to override this method MUST
* call this stop() method before accessing BasicModule resources.</p> * call this stop() method before accessing BasicModule resources.</p>
*/ */
...@@ -92,7 +89,6 @@ public class BasicModule implements Module { ...@@ -92,7 +89,6 @@ public class BasicModule implements Module {
/** /**
* <p>Destroys the module.</p> * <p>Destroys the module.</p>
* <p/>
* <p>Does nothing in the basic module.</p> * <p>Does nothing in the basic module.</p>
*/ */
public void destroy() { public void destroy() {
......
...@@ -26,23 +26,21 @@ import org.jivesoftware.openfire.XMPPServer; ...@@ -26,23 +26,21 @@ import org.jivesoftware.openfire.XMPPServer;
* Logical, server-managed entities must implement this interface. A module * Logical, server-managed entities must implement this interface. A module
* represents an operational unit and may contain zero or more services * represents an operational unit and may contain zero or more services
* and rely on zero or more services that may be hosted by the container. * and rely on zero or more services that may be hosted by the container.
* <p/> * <p>
* In order to be hosted in the Jive server container, all modules must: * In order to be hosted in the Jive server container, all modules must:
* </p> * </p>
* <ul> * <ul>
* <li>Implement the Module interface</li> * <li>Implement the Module interface</li>
* <li>Have a public no-arg constructor</li> * <li>Have a public no-arg constructor</li>
* </ul> * </ul>
* <p/> * <p>The Jive container will run all modules through a simple lifecycle:</p>
* The Jive container will run all modules through a simple lifecycle:
* <pre> * <pre>
* constructor -> initialize() -> start() -> stop() -> destroy() -> finalizer * constructor -&gt; initialize() -&gt; start() -&gt; stop() -&gt; destroy() -&gt; finalizer
* |<-----------------------| ^ * |&lt;-----------------------| ^
* | | * | |
* V-----------------------------------> * V-----------------------------------&gt;
* </pre> * </pre>
* </p> * <p>
* <p/>
* The Module interface is intended to provide the simplest mechanism * The Module interface is intended to provide the simplest mechanism
* for creating, deploying, and managing server modules. * for creating, deploying, and managing server modules.
* </p> * </p>
......
...@@ -57,9 +57,9 @@ import java.io.File; ...@@ -57,9 +57,9 @@ import java.io.File;
* &lt;minServerVersion&gt;3.0.0&lt;/minServerVersion&gt; * &lt;minServerVersion&gt;3.0.0&lt;/minServerVersion&gt;
* &lt;licenseType&gt;gpl&lt;/licenseType&gt; * &lt;licenseType&gt;gpl&lt;/licenseType&gt;
* &lt;/plugin&gt;</pre> * &lt;/plugin&gt;</pre>
* <p/> * <p>
* Each plugin will be loaded in its own class loader, unless the plugin is configured * Each plugin will be loaded in its own class loader, unless the plugin is configured
* with a parent plugin.<p/> * with a parent plugin.</p>
* *
* Please see the Plugin Developer Guide (available with the * Please see the Plugin Developer Guide (available with the
* Openfire documentation) for additional details about plugin development. * Openfire documentation) for additional details about plugin development.
......
...@@ -35,8 +35,8 @@ import org.slf4j.LoggerFactory; ...@@ -35,8 +35,8 @@ import org.slf4j.LoggerFactory;
/** /**
* A helper class to read cache configuration data for a plugin and register the defined caches with * A helper class to read cache configuration data for a plugin and register the defined caches with
* the cache factory. Definitions should look something like this: * the cache factory. Definitions should look something like this:
* <code> * <pre>
* * {@code
* <cache-config> * <cache-config>
* <cache-mapping> * <cache-mapping>
* <cache-name>My Cache</cache-name> * <cache-name>My Cache</cache-name>
...@@ -57,8 +57,8 @@ import org.slf4j.LoggerFactory; ...@@ -57,8 +57,8 @@ import org.slf4j.LoggerFactory;
* </init-params> * </init-params>
* </cache-mapping> * </cache-mapping>
* </cache-config> * </cache-config>
* * }
* </code> * </pre>
*/ */
public class PluginCacheConfigurator { public class PluginCacheConfigurator {
......
...@@ -37,10 +37,10 @@ import org.slf4j.LoggerFactory; ...@@ -37,10 +37,10 @@ import org.slf4j.LoggerFactory;
/** /**
* ClassLoader for plugins. It searches the plugin directory for classes * ClassLoader for plugins. It searches the plugin directory for classes
* and JAR files, then constructs a class loader for the resources found. * and JAR files, then constructs a class loader for the resources found.
* Resources are loaded as follows:<ul> * Resources are loaded as follows:
* <p/> * <ul>
* <li>Any JAR files in the <tt>lib</tt> will be added to the classpath. * <li>Any JAR files in the <tt>lib</tt> will be added to the classpath.</li>
* <li>Any files in the classes directory will be added to the classpath. * <li>Any files in the classes directory will be added to the classpath.</li>
* </ul> * </ul>
* *
* @author Derek DeMoro * @author Derek DeMoro
......
...@@ -67,9 +67,9 @@ import org.slf4j.LoggerFactory; ...@@ -67,9 +67,9 @@ import org.slf4j.LoggerFactory;
/** /**
* Loads and manages plugins. The <tt>plugins</tt> directory is monitored for any * Loads and manages plugins. The <tt>plugins</tt> directory is monitored for any
* new plugins, and they are dynamically loaded.<p/> * new plugins, and they are dynamically loaded.
* *
* An instance of this class can be obtained using:<p/> * <p>An instance of this class can be obtained using:</p>
* *
* <tt>XMPPServer.getInstance().getPluginManager()</tt> * <tt>XMPPServer.getInstance().getPluginManager()</tt>
* *
...@@ -575,9 +575,10 @@ public class PluginManager { ...@@ -575,9 +575,10 @@ public class PluginManager {
* and not the name as given by the plugin meta-data. This method only removes * and not the name as given by the plugin meta-data. This method only removes
* the plugin but does not delete the plugin JAR file. Therefore, if the plugin JAR * the plugin but does not delete the plugin JAR file. Therefore, if the plugin JAR
* still exists after this method is called, the plugin will be started again the next * still exists after this method is called, the plugin will be started again the next
* time the plugin monitor process runs. This is useful for "restarting" plugins.<p> * time the plugin monitor process runs. This is useful for "restarting" plugins.
* <p/> * <p>
* This method is called automatically when a plugin's JAR file is deleted. * This method is called automatically when a plugin's JAR file is deleted.
* </p>
* *
* @param pluginName the name of the plugin to unload. * @param pluginName the name of the plugin to unload.
*/ */
......
...@@ -53,15 +53,15 @@ import org.xml.sax.SAXException; ...@@ -53,15 +53,15 @@ import org.xml.sax.SAXException;
* The plugin servlet acts as a proxy for web requests (in the admin console) * The plugin servlet acts as a proxy for web requests (in the admin console)
* to plugins. Since plugins can be dynamically loaded and live in a different place * to plugins. Since plugins can be dynamically loaded and live in a different place
* than normal Openfire admin console files, it's not possible to have them * than normal Openfire admin console files, it's not possible to have them
* added to the normal Openfire admin console web app directory.<p> * added to the normal Openfire admin console web app directory.
* <p/> * <p>
* The servlet listens for requests in the form <tt>/plugins/[pluginName]/[JSP File]</tt> * The servlet listens for requests in the form <tt>/plugins/[pluginName]/[JSP File]</tt>
* (e.g. <tt>/plugins/foo/example.jsp</tt>). It also listens for non JSP requests in the * (e.g. <tt>/plugins/foo/example.jsp</tt>). It also listens for non JSP requests in the
* form like <tt>/plugins/[pluginName]/images/*.png|gif</tt>, * form like <tt>/plugins/[pluginName]/images/*.png|gif</tt>,
* <tt>/plugins/[pluginName]/scripts/*.js|css</tt> or * <tt>/plugins/[pluginName]/scripts/*.js|css</tt> or
* <tt>/plugins/[pluginName]/styles/*.css</tt> (e.g. * <tt>/plugins/[pluginName]/styles/*.css</tt> (e.g.
* <tt>/plugins/foo/images/example.gif</tt>).<p> * <tt>/plugins/foo/images/example.gif</tt>).
* <p/> * </p>
* JSP files must be compiled and available via the plugin's class loader. The mapping * JSP files must be compiled and available via the plugin's class loader. The mapping
* between JSP name and servlet class files is defined in [pluginName]/web/web.xml. * between JSP name and servlet class files is defined in [pluginName]/web/web.xml.
* Typically, this file is auto-generated by the JSP compiler when packaging the plugin. * Typically, this file is auto-generated by the JSP compiler when packaging the plugin.
...@@ -259,7 +259,7 @@ public class PluginServlet extends HttpServlet { ...@@ -259,7 +259,7 @@ public class PluginServlet extends HttpServlet {
* the servlet destroy method. * the servlet destroy method.
* *
* @param plugin the owner of the servlet * @param plugin the owner of the servlet
* @param servletUrl the relative url where servlet has been bound * @param url the relative url where servlet has been bound
* @return the unregistered servlet, so that it can be destroyed * @return the unregistered servlet, so that it can be destroyed
*/ */
public static GenericServlet unregisterServlet(Plugin plugin, String url) public static GenericServlet unregisterServlet(Plugin plugin, String url)
......
...@@ -134,7 +134,6 @@ public class CrowdManager { ...@@ -134,7 +134,6 @@ public class CrowdManager {
* @param username * @param username
* @param password * @param password
* @throws RemoteException * @throws RemoteException
* @throws UnsupportedEncodingException
*/ */
public void authenticate(String username, String password) throws RemoteException { public void authenticate(String username, String password) throws RemoteException {
username = JID.unescapeNode(username); username = JID.unescapeNode(username);
......
...@@ -29,11 +29,12 @@ import java.util.Iterator; ...@@ -29,11 +29,12 @@ import java.util.Iterator;
/** /**
* A DiscoInfoProvider is responsible for providing information about a JID's name and its node. For * A DiscoInfoProvider is responsible for providing information about a JID's name and its node. For
* example, the room service could implement this interface in order to provide disco#info about * example, the room service could implement this interface in order to provide disco#info about
* its rooms. In this case, the JID's name will be the room's name and node will be null.<p> * its rooms. In this case, the JID's name will be the room's name and node will be null.
* <p/> * <p>
* The information to provide has to include the entity's identity and the features offered and * The information to provide has to include the entity's identity and the features offered and
* protocols supported by the target entity. The identity will be provided as an Element that will * protocols supported by the target entity. The identity will be provided as an Element that will
* include the categoty, type and name attributes. Whilst the features will be just plain Strings. * include the categoty, type and name attributes. Whilst the features will be just plain Strings.
* </p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -27,11 +27,11 @@ import java.util.Iterator; ...@@ -27,11 +27,11 @@ import java.util.Iterator;
/** /**
* A DiscoItemsProvider is responsible for providing the items associated with a JID's name and * A DiscoItemsProvider is responsible for providing the items associated with a JID's name and
* node. For example, the room service could implement this interface in order to provide * node. For example, the room service could implement this interface in order to provide
* the existing rooms as its items. In this case, the JID's name and node won't be used.<p> * the existing rooms as its items. In this case, the JID's name and node won't be used.
* <p/> * <p>
* The items to provide must have a JID attribute specifying the JID of the item and may possess a * The items to provide must have a JID attribute specifying the JID of the item and may possess a
* name attribute specifying a natural-language name for the item. The node attribute is optional * name attribute specifying a natural-language name for the item. The node attribute is optional
* and must be used only for items that aren't addressable as a JID. * and must be used only for items that aren't addressable as a JID.</p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -25,8 +25,8 @@ import org.xmpp.packet.JID; ...@@ -25,8 +25,8 @@ import org.xmpp.packet.JID;
/** /**
* Represent a DiscoItem provided by the server. Therefore, the DiscoServerItems are responsible * Represent a DiscoItem provided by the server. Therefore, the DiscoServerItems are responsible
* for providing the DiscoInfoProvider and DiscoItemsProvider that will provide the information and * for providing the DiscoInfoProvider and DiscoItemsProvider that will provide the information and
* items related to this item.<p> * items related to this item.
* <p/> * <p>
* When the server starts up, IQDiscoItemsHandler will request to all the services that implement * When the server starts up, IQDiscoItemsHandler will request to all the services that implement
* the ServerItemsProvider interface for their DiscoServerItems. Each DiscoServerItem will provide * the ServerItemsProvider interface for their DiscoServerItems. Each DiscoServerItem will provide
* its DiscoInfoProvider which will automatically be included in IQDiscoInfoHandler as the provider * its DiscoInfoProvider which will automatically be included in IQDiscoInfoHandler as the provider
...@@ -34,6 +34,7 @@ import org.xmpp.packet.JID; ...@@ -34,6 +34,7 @@ import org.xmpp.packet.JID;
* which will automatically be included in IQDiscoItemsHandler. Special attention must be paid to * which will automatically be included in IQDiscoItemsHandler. Special attention must be paid to
* the JID since all the items with the same host will share the same DiscoInfoProvider or * the JID since all the items with the same host will share the same DiscoInfoProvider or
* DiscoItemsProvider. * DiscoItemsProvider.
* </p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -50,8 +50,8 @@ import java.util.concurrent.locks.Lock; ...@@ -50,8 +50,8 @@ import java.util.concurrent.locks.Lock;
* IQDiscoInfoHandler is responsible for handling disco#info requests. This class holds a map with * IQDiscoInfoHandler is responsible for handling disco#info requests. This class holds a map with
* the main entities and the associated DiscoInfoProvider. We are considering the host of the * the main entities and the associated DiscoInfoProvider. We are considering the host of the
* recipient JIDs as main entities. It's the DiscoInfoProvider responsibility to provide information * recipient JIDs as main entities. It's the DiscoInfoProvider responsibility to provide information
* about the JID's name together with any possible requested node.<p> * about the JID's name together with any possible requested node.
* <p/> * <p>
* For example, let's have in the entities map the following entries: "localhost" and * For example, let's have in the entities map the following entries: "localhost" and
* "conference.localhost". Associated with each entry we have different DiscoInfoProviders. Now we * "conference.localhost". Associated with each entry we have different DiscoInfoProviders. Now we
* receive a disco#info request for the following JID: "room@conference.localhost" which is a disco * receive a disco#info request for the following JID: "room@conference.localhost" which is a disco
...@@ -62,7 +62,7 @@ import java.util.concurrent.locks.Lock; ...@@ -62,7 +62,7 @@ import java.util.concurrent.locks.Lock;
* could find its identity and the features it supports (e.g. 'muc_passwordprotected', * could find its identity and the features it supports (e.g. 'muc_passwordprotected',
* 'muc_unmoderated', etc.). Finally, after we have collected all the information provided by the * 'muc_unmoderated', etc.). Finally, after we have collected all the information provided by the
* provider we will add it to the reply. On the other hand, if no provider was found or the provider * provider we will add it to the reply. On the other hand, if no provider was found or the provider
* has no information for the requested name/node then a not-found error will be returned. * has no information for the requested name/node then a not-found error will be returned.</p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -57,8 +57,8 @@ import java.util.concurrent.locks.Lock; ...@@ -57,8 +57,8 @@ import java.util.concurrent.locks.Lock;
* IQDiscoItemsHandler is responsible for handling disco#items requests. This class holds a map with * IQDiscoItemsHandler is responsible for handling disco#items requests. This class holds a map with
* the main entities and the associated DiscoItemsProvider. We are considering the host of the * the main entities and the associated DiscoItemsProvider. We are considering the host of the
* recipient JIDs as main entities. It's the DiscoItemsProvider responsibility to provide the items * recipient JIDs as main entities. It's the DiscoItemsProvider responsibility to provide the items
* associated with the JID's name together with any possible requested node.<p> * associated with the JID's name together with any possible requested node.
* <p/> * <p>
* For example, let's have in the entities map the following entries: "localhost" and * For example, let's have in the entities map the following entries: "localhost" and
* "conference.localhost". Associated with each entry we have different DiscoItemsProvider. Now we * "conference.localhost". Associated with each entry we have different DiscoItemsProvider. Now we
* receive a disco#items request for the following JID: "room@conference.localhost" which is a disco * receive a disco#items request for the following JID: "room@conference.localhost" which is a disco
...@@ -69,9 +69,10 @@ import java.util.concurrent.locks.Lock; ...@@ -69,9 +69,10 @@ import java.util.concurrent.locks.Lock;
* the list of existing occupants if that information is publicly available. Finally, after we have * the list of existing occupants if that information is publicly available. Finally, after we have
* collected all the items provided by the provider we will add them to the reply. On the other * collected all the items provided by the provider we will add them to the reply. On the other
* hand, if no provider was found or the provider has no information for the requested name/node * hand, if no provider was found or the provider has no information for the requested name/node
* then a not-found error will be returned.<p> * then a not-found error will be returned.</p>
* <p/> * <p>
* Publishing of client items is still not supported. * Publishing of client items is still not supported.
* </p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -25,13 +25,12 @@ import java.util.Iterator; ...@@ -25,13 +25,12 @@ import java.util.Iterator;
/** /**
* ServerFeaturesProviders are responsible for providing the features offered and supported * ServerFeaturesProviders are responsible for providing the features offered and supported
* protocols by the SERVER. Example of server features are: jabber:iq:agents, jabber:iq:time, etc. * protocols by the SERVER. Example of server features are: jabber:iq:agents, jabber:iq:time, etc.
* <p/> * <p>
* <p/>
* When the server starts up, IQDiscoInfoHandler will request to all the services that implement * When the server starts up, IQDiscoInfoHandler will request to all the services that implement
* the ServerFeaturesProvider interface for their features. Whenever a disco request is received * the ServerFeaturesProvider interface for their features. Whenever a disco request is received
* IQDiscoInfoHandler will add to the provided information all the collected features. Therefore, a * IQDiscoInfoHandler will add to the provided information all the collected features. Therefore, a
* service must implement this interface in order to offer/publish its features as part of the * service must implement this interface in order to offer/publish its features as part of the
* server features. * server features.</p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -28,9 +28,8 @@ import java.util.Iterator; ...@@ -28,9 +28,8 @@ import java.util.Iterator;
* <p> * <p>
* A <code>ServerIdentitiesProvider</code> is responsible for providing the identities * A <code>ServerIdentitiesProvider</code> is responsible for providing the identities
* of protocols supported by the SERVER. An example of a server identity is that * of protocols supported by the SERVER. An example of a server identity is that
* for PEP (XEP-0163): <identity category="pubsub" type="pep" /> * for PEP (XEP-0163): {@code <identity category="pubsub" type="pep" />}
* <p/> * </p>
*
* <p> * <p>
* When the server starts up, IQDiscoInfoHandler will request to all the services that implement * When the server starts up, IQDiscoInfoHandler will request to all the services that implement
* the ServerIdentitiesProvider interface for their identities. Whenever a disco request is received * the ServerIdentitiesProvider interface for their identities. Whenever a disco request is received
......
...@@ -24,8 +24,8 @@ import java.util.Iterator; ...@@ -24,8 +24,8 @@ import java.util.Iterator;
/** /**
* ServerItemsProvider are responsible for providing the items associated with the SERVER. Example * ServerItemsProvider are responsible for providing the items associated with the SERVER. Example
* of server items are: Public Chatrooms, PubSub service, etc.<p> * of server items are: Public Chatrooms, PubSub service, etc.
* <p/> * <p>
* When the server starts up, IQDiscoItemsHandler will request to all the services that implement * When the server starts up, IQDiscoItemsHandler will request to all the services that implement
* the ServerItemsProvider interface for their DiscoServerItems. Each DiscoServerItem will provide * the ServerItemsProvider interface for their DiscoServerItems. Each DiscoServerItem will provide
* its DiscoInfoProvider which will automatically be included in IQDiscoInfoHandler as the provider * its DiscoInfoProvider which will automatically be included in IQDiscoInfoHandler as the provider
...@@ -33,7 +33,7 @@ import java.util.Iterator; ...@@ -33,7 +33,7 @@ import java.util.Iterator;
* which will automatically be included in IQDiscoItemsHandler. Special attention must be paid to * which will automatically be included in IQDiscoItemsHandler. Special attention must be paid to
* the JID since all the items with the same host will share the same DiscoInfoProvider or * the JID since all the items with the same host will share the same DiscoInfoProvider or
* DiscoItemsProvider. Therefore, a service must implement this interface in order to get its * DiscoItemsProvider. Therefore, a service must implement this interface in order to get its
* services published as items associatd with the server. * services published as items associatd with the server.</p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -28,9 +28,8 @@ import java.util.Iterator; ...@@ -28,9 +28,8 @@ import java.util.Iterator;
* <p> * <p>
* A <code>UserIdentitiesProvider</code> is responsible for providing the identities * A <code>UserIdentitiesProvider</code> is responsible for providing the identities
* of protocols supported by users. An example of a user identity is one * of protocols supported by users. An example of a user identity is one
* for PEP (XEP-0163): <identity category="pubsub" type="pep" /> * for PEP (XEP-0163): {@code <identity category="pubsub" type="pep" />}
* <p/> * </p>
*
* <p> * <p>
* When the server starts up, IQDiscoInfoHandler will request to all the services that implement * When the server starts up, IQDiscoInfoHandler will request to all the services that implement
* the UserIdentitiesProvider interface for their identities. Whenever a disco request is received * the UserIdentitiesProvider interface for their identities. Whenever a disco request is received
......
...@@ -38,7 +38,6 @@ import java.util.Iterator; ...@@ -38,7 +38,6 @@ import java.util.Iterator;
* <li>For discovering PEP items of a user.</li> * <li>For discovering PEP items of a user.</li>
* <li>For discovering available resources of a user.</li> * <li>For discovering available resources of a user.</li>
* </ul> * </ul>
* </p>
* *
* @author Armando Jagucki * @author Armando Jagucki
*/ */
......
...@@ -27,16 +27,16 @@ import java.util.List; ...@@ -27,16 +27,16 @@ import java.util.List;
/** /**
* Represents a form that could be use for gathering data as well as for reporting data * Represents a form that could be use for gathering data as well as for reporting data
* returned from a search. * returned from a search.
* <p/> * <p>
* The form could be of the following types: * The form could be of the following types:
* </p>
* <ul> * <ul>
* <li>form -> Indicates a form to fill out.</li> * <li>form -&gt; Indicates a form to fill out.</li>
* <li>submit -> The form is filled out, and this is the data that is being returned from * <li>submit -&gt; The form is filled out, and this is the data that is being returned from
* the form.</li> * the form.</li>
* <li>cancel -> The form was cancelled. Tell the asker that piece of information.</li> * <li>cancel -&gt; The form was cancelled. Tell the asker that piece of information.</li>
* <li>result -> Data results being returned from a search, or some other query.</li> * <li>result -&gt; Data results being returned from a search, or some other query.</li>
* </ul> * </ul>
* <p/>
* In case the form represents a search, the report will be structured in columns and rows. Use * In case the form represents a search, the report will be structured in columns and rows. Use
* {@link #addReportedField(FormField)} to set the columns of the report whilst the report's rows * {@link #addReportedField(FormField)} to set the columns of the report whilst the report's rows
* can be configured using {@link #addItemFields(ArrayList)}. * can be configured using {@link #addItemFields(ArrayList)}.
...@@ -54,7 +54,7 @@ public interface DataForm { ...@@ -54,7 +54,7 @@ public interface DataForm {
/** /**
* Sets the description of the data. It is similar to the title on a web page or an X window. * Sets the description of the data. It is similar to the title on a web page or an X window.
* You can put a <title/> on either a form to fill out, or a set of data results. * You can put a {@code <title/>} on either a form to fill out, or a set of data results.
* *
* @param title description of the data. * @param title description of the data.
*/ */
...@@ -71,16 +71,17 @@ public interface DataForm { ...@@ -71,16 +71,17 @@ public interface DataForm {
/** /**
* Returns the meaning of the data within the context. The data could be part of a form * Returns the meaning of the data within the context. The data could be part of a form
* to fill out, a form submission or data results.<p> * to fill out, a form submission or data results.
* <p/> * <p>
* Possible form types are: * Possible form types are:
* </p>
* <ul> * <ul>
* <li>form -> This packet contains a form to fill out. Display it to the user (if your * <li>form -&gt; This packet contains a form to fill out. Display it to the user (if your
* program can).</li> * program can).</li>
* <li>submit -> The form is filled out, and this is the data that is being returned from * <li>submit -&gt; The form is filled out, and this is the data that is being returned from
* the form.</li> * the form.</li>
* <li>cancel -> The form was cancelled. Tell the asker that piece of information.</li> * <li>cancel -&gt; The form was cancelled. Tell the asker that piece of information.</li>
* <li>result -> Data results being returned from a search, or some other query.</li> * <li>result -&gt; Data results being returned from a search, or some other query.</li>
* </ul> * </ul>
* *
* @return the form's type. * @return the form's type.
...@@ -89,7 +90,7 @@ public interface DataForm { ...@@ -89,7 +90,7 @@ public interface DataForm {
/** /**
* Returns the description of the data. It is similar to the title on a web page or an X * Returns the description of the data. It is similar to the title on a web page or an X
* window. You can put a <title/> on either a form to fill out, or a set of data results. * window. You can put a {@code <title/>} on either a form to fill out, or a set of data results.
* *
* @return description of the data. * @return description of the data.
*/ */
......
...@@ -68,21 +68,20 @@ public interface FormField { ...@@ -68,21 +68,20 @@ public interface FormField {
/** /**
* Sets an indicative of the format for the data to answer. Valid formats are: * Sets an indicative of the format for the data to answer. Valid formats are:
* <p/>
* <ul> * <ul>
* <li>text-single -> single line or word of text * <li>text-single -&gt; single line or word of text
* <li>text-private -> instead of showing the user what they typed, you show ***** to * <li>text-private -&gt; instead of showing the user what they typed, you show ***** to
* protect it * protect it
* <li>text-multi -> multiple lines of text entry * <li>text-multi -&gt; multiple lines of text entry
* <li>list-single -> given a list of choices, pick one * <li>list-single -&gt; given a list of choices, pick one
* <li>list-multi -> given a list of choices, pick one or more * <li>list-multi -&gt; given a list of choices, pick one or more
* <li>boolean -> 0 or 1, true or false, yes or no. Default value is 0 * <li>boolean -&gt; 0 or 1, true or false, yes or no. Default value is 0
* <li>fixed -> fixed for putting in text to show sections, or just advertise your web * <li>fixed -&gt; fixed for putting in text to show sections, or just advertise your web
* site in the middle of the form * site in the middle of the form
* <li>hidden -> is not given to the user at all, but returned with the questionnaire * <li>hidden -&gt; is not given to the user at all, but returned with the questionnaire
* <li>jid-single -> Jabber ID - choosing a JID from your roster, and entering one based * <li>jid-single -&gt; Jabber ID - choosing a JID from your roster, and entering one based
* on the rules for a JID. * on the rules for a JID.
* <li>jid-multi -> multiple entries for JIDs * <li>jid-multi -&gt; multiple entries for JIDs
* </ul> * </ul>
* *
* @param type an indicative of the format for the data to answer. * @param type an indicative of the format for the data to answer.
...@@ -107,9 +106,10 @@ public interface FormField { ...@@ -107,9 +106,10 @@ public interface FormField {
/** /**
* Sets a description that provides extra clarification about the question. This information * Sets a description that provides extra clarification about the question. This information
* could be presented to the user either in tool-tip, help button, or as a section of text * could be presented to the user either in tool-tip, help button, or as a section of text
* before the question.<p> * before the question.
* <p/> * <p>
* If the question is of type FIXED then the description should remain empty. * If the question is of type FIXED then the description should remain empty.
* </p>
* *
* @param description provides extra clarification about the question. * @param description provides extra clarification about the question.
*/ */
...@@ -140,21 +140,20 @@ public interface FormField { ...@@ -140,21 +140,20 @@ public interface FormField {
/** /**
* Returns an indicative of the format for the data to answer. Valid formats are: * Returns an indicative of the format for the data to answer. Valid formats are:
* <p/>
* <ul> * <ul>
* <li>text-single -> single line or word of text * <li>text-single -&gt; single line or word of text
* <li>text-private -> instead of showing the user what they typed, you show ***** to * <li>text-private -&gt; instead of showing the user what they typed, you show ***** to
* protect it * protect it
* <li>text-multi -> multiple lines of text entry * <li>text-multi -&gt; multiple lines of text entry
* <li>list-single -> given a list of choices, pick one * <li>list-single -&gt; given a list of choices, pick one
* <li>list-multi -> given a list of choices, pick one or more * <li>list-multi -&gt; given a list of choices, pick one or more
* <li>boolean -> 0 or 1, true or false, yes or no. Default value is 0 * <li>boolean -&gt; 0 or 1, true or false, yes or no. Default value is 0
* <li>fixed -> fixed for putting in text to show sections, or just advertise your web * <li>fixed -&gt; fixed for putting in text to show sections, or just advertise your web
* site in the middle of the form * site in the middle of the form
* <li>hidden -> is not given to the user at all, but returned with the questionnaire * <li>hidden -&gt; is not given to the user at all, but returned with the questionnaire
* <li>jid-single -> Jabber ID - choosing a JID from your roster, and entering one based * <li>jid-single -&gt; Jabber ID - choosing a JID from your roster, and entering one based
* on the rules for a JID. * on the rules for a JID.
* <li>jid-multi -> multiple entries for JIDs * <li>jid-multi -&gt; multiple entries for JIDs
* </ul> * </ul>
* *
* @return format for the data to answer. * @return format for the data to answer.
...@@ -172,9 +171,10 @@ public interface FormField { ...@@ -172,9 +171,10 @@ public interface FormField {
/** /**
* Returns a description that provides extra clarification about the question. This information * Returns a description that provides extra clarification about the question. This information
* could be presented to the user either in tool-tip, help button, or as a section of text * could be presented to the user either in tool-tip, help button, or as a section of text
* before the question.<p> * before the question.
* <p/> * <p>
* If the question is of type FIXED then the description should remain empty. * If the question is of type FIXED then the description should remain empty.
* </p>
* *
* @return description that provides extra clarification about the question. * @return description that provides extra clarification about the question.
*/ */
......
...@@ -22,7 +22,7 @@ import org.xmpp.packet.JID; ...@@ -22,7 +22,7 @@ import org.xmpp.packet.JID;
* addition, group search operations are disabled. * addition, group search operations are disabled.
* *
* Subclasses may optionally implement these capabilities, and must also * Subclasses may optionally implement these capabilities, and must also
* at minimum implement the {@link GroupProvider.getGroup(String)} method. * at minimum implement the {@link GroupProvider#getGroup(String)} method.
* *
* @author Tom Evans * @author Tom Evans
*/ */
...@@ -253,7 +253,7 @@ public abstract class AbstractGroupProvider implements GroupProvider { ...@@ -253,7 +253,7 @@ public abstract class AbstractGroupProvider implements GroupProvider {
* Returns a custom {@link Map} that updates the database whenever * Returns a custom {@link Map} that updates the database whenever
* a property value is added, changed, or deleted. * a property value is added, changed, or deleted.
* *
* @param name The target group * @param group The target group
* @return The properties for the given group * @return The properties for the given group
*/ */
public PersistableMap<String,String> loadProperties(Group group) { public PersistableMap<String,String> loadProperties(Group group) {
......
...@@ -46,10 +46,11 @@ import org.xmpp.packet.JID; ...@@ -46,10 +46,11 @@ import org.xmpp.packet.JID;
public interface GroupProvider { public interface GroupProvider {
/** /**
* Creates a group with the given name (optional operation).<p> * Creates a group with the given name (optional operation).
* * <p>
* The provider is responsible for setting the creation date and * The provider is responsible for setting the creation date and
* modification date to the current date/time. * modification date to the current date/time.
* </p>
* *
* @param name name of the group. * @param name name of the group.
* @return the newly created group. * @return the newly created group.
...@@ -131,7 +132,7 @@ public interface GroupProvider { ...@@ -131,7 +132,7 @@ public interface GroupProvider {
/** /**
* Returns an unmodifiable Collection of all shared groups in the system for a given user. * Returns an unmodifiable Collection of all shared groups in the system for a given user.
* *
* @param JID The bare JID for the user (node@domain) * @param user The bare JID for the user (node@domain)
* @return unmodifiable Collection of all shared groups in the system for a given user. * @return unmodifiable Collection of all shared groups in the system for a given user.
*/ */
Collection<String> getSharedGroupNames(JID user); Collection<String> getSharedGroupNames(JID user);
......
...@@ -35,20 +35,19 @@ import org.slf4j.LoggerFactory; ...@@ -35,20 +35,19 @@ import org.slf4j.LoggerFactory;
* web browser for the current user of the system to the given URL. It may support other * web browser for the current user of the system to the given URL. It may support other
* protocols depending on the system -- mailto, ftp, etc. -- but that has not been rigorously * protocols depending on the system -- mailto, ftp, etc. -- but that has not been rigorously
* tested and is not guaranteed to work. * tested and is not guaranteed to work.
* <p/> * <p>Yes, this is platform-specific code, and yes, it may rely on classes on certain platforms
* Yes, this is platform-specific code, and yes, it may rely on classes on certain platforms
* that are not part of the standard JDK. What we're trying to do, though, is to take something * that are not part of the standard JDK. What we're trying to do, though, is to take something
* that's frequently desirable but inherently platform-specific -- opening a default browser -- * that's frequently desirable but inherently platform-specific -- opening a default browser --
* and allow programmers (you, for example) to do so without worrying about dropping into native * and allow programmers (you, for example) to do so without worrying about dropping into native
* code or doing anything else similarly evil. * code or doing anything else similarly evil.
* <p/> * </p>
* Anyway, this code is completely in Java and will run on all JDK 1.1-compliant systems without * <p>Anyway, this code is completely in Java and will run on all JDK 1.1-compliant systems without
* modification or a need for additional libraries. All classes that are required on certain * modification or a need for additional libraries. All classes that are required on certain
* platforms to allow this to run are dynamically loaded at runtime via reflection and, if not * platforms to allow this to run are dynamically loaded at runtime via reflection and, if not
* found, will not cause this to do anything other than returning an error when opening the * found, will not cause this to do anything other than returning an error when opening the
* browser. * browser.
* <p/> * </p>
* There are certain system requirements for this class, as it's running through Runtime.exec(), * <p>There are certain system requirements for this class, as it's running through Runtime.exec(),
* which is Java's way of making a native system call. Currently, this requires that a Macintosh * which is Java's way of making a native system call. Currently, this requires that a Macintosh
* have a Finder which supports the GURL event, which is true for Mac OS 8.0 and 8.1 systems that * have a Finder which supports the GURL event, which is true for Mac OS 8.0 and 8.1 systems that
* have the Internet Scripting AppleScript dictionary installed in the Scripting Additions folder * have the Internet Scripting AppleScript dictionary installed in the Scripting Additions folder
...@@ -57,15 +56,15 @@ import org.slf4j.LoggerFactory; ...@@ -57,15 +56,15 @@ import org.slf4j.LoggerFactory;
* (Windows 95, 98, and NT 4.0, as well as later versions of all). On other systems, this drops * (Windows 95, 98, and NT 4.0, as well as later versions of all). On other systems, this drops
* back from the inherently platform-sensitive concept of a default browser and simply attempts * back from the inherently platform-sensitive concept of a default browser and simply attempts
* to launch Netscape via a shell command. * to launch Netscape via a shell command.
* <p/> * </p>
* This code is Copyright 1999-2001 by Eric Albert (ejalbert@cs.stanford.edu) and may be * <p>This code is Copyright 1999-2001 by Eric Albert (ejalbert@cs.stanford.edu) and may be
* redistributed or modified in any form without restrictions as long as the portion of this * redistributed or modified in any form without restrictions as long as the portion of this
* comment from this paragraph through the end of the comment is not removed. The author * comment from this paragraph through the end of the comment is not removed. The author
* requests that he be notified of any application, applet, or other binary that makes use of * requests that he be notified of any application, applet, or other binary that makes use of
* this code, but that's more out of curiosity than anything and is not required. This software * this code, but that's more out of curiosity than anything and is not required. This software
* includes no warranty. The author is not repsonsible for any loss of data or functionality * includes no warranty. The author is not repsonsible for any loss of data or functionality
* or any adverse or unexpected effects of using this software. * or any adverse or unexpected effects of using this software.
* <p/> * </p>
* Credits: * Credits:
* <br>Steven Spencer, JavaWorld magazine (<a href="http://www.javaworld.com/javaworld/javatips/jw-javatip66.html">Java Tip 66</a>) * <br>Steven Spencer, JavaWorld magazine (<a href="http://www.javaworld.com/javaworld/javatips/jw-javatip66.html">Java Tip 66</a>)
* <br>Thanks also to Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum, Andrea Cantatore, * <br>Thanks also to Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum, Andrea Cantatore,
......
...@@ -341,8 +341,8 @@ public final class GraphicUtils { ...@@ -341,8 +341,8 @@ public final class GraphicUtils {
* not be loaded, then <code>null</code> is returned. Images loaded here * not be loaded, then <code>null</code> is returned. Images loaded here
* will be added to an internal cache based upon the full {@link URL} to * will be added to an internal cache based upon the full {@link URL} to
* their location. * their location.
* <p/> * <p>
* <em>This method replaces legacy code from JDeveloper 3.x and earlier.</em> * <em>This method replaces legacy code from JDeveloper 3.x and earlier.</em></p>
* *
* @see Class#getResource(String) * @see Class#getResource(String)
* @see Toolkit#createImage(URL) * @see Toolkit#createImage(URL)
......
...@@ -26,9 +26,9 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -26,9 +26,9 @@ import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* Dispatches lockout events. The following events are supported: * Dispatches lockout events. The following events are supported:
* <ul> * <ul>
* <li><b>accountLocked</b> --> An account has been disabled/locked out.</li> * <li><b>accountLocked</b> --&gt; An account has been disabled/locked out.</li>
* <li><b>accountUnlocked</b> --> An account has been enabled/unlocked.</li> * <li><b>accountUnlocked</b> --&gt; An account has been enabled/unlocked.</li>
* <li><b>lockedAccountDenied</b> --> A locked out account has been denied login.</li> * <li><b>lockedAccountDenied</b> --&gt; A locked out account has been denied login.</li>
* </ul> * </ul>
* Use {@link #addListener(LockOutEventListener)} and {@link #removeListener(LockOutEventListener)} * Use {@link #addListener(LockOutEventListener)} and {@link #removeListener(LockOutEventListener)}
* to add or remove {@link LockOutEventListener}. * to add or remove {@link LockOutEventListener}.
......
...@@ -27,12 +27,12 @@ import java.util.concurrent.ConcurrentLinkedQueue; ...@@ -27,12 +27,12 @@ import java.util.concurrent.ConcurrentLinkedQueue;
/** /**
* Dispatches MUC events. The following events are supported: * Dispatches MUC events. The following events are supported:
* <ul> * <ul>
* <li><b>occupantJoined</b> --> Someone joined a room.</li> * <li><b>occupantJoined</b> --&gt; Someone joined a room.</li>
* <li><b>occupantLeft</b> --> Someone left a room.</li> * <li><b>occupantLeft</b> --&gt; Someone left a room.</li>
* <li><b>nicknameChanged</b> --> A nickname was changed in a room.</li> * <li><b>nicknameChanged</b> --&gt; A nickname was changed in a room.</li>
* <li><b>messageReceived</b> --> A message was received in a room.</li> * <li><b>messageReceived</b> --&gt; A message was received in a room.</li>
* <li><b>roomCreated</b> --> A room was created.</li> * <li><b>roomCreated</b> --&gt; A room was created.</li>
* <li><b>roomDestryod</b> --> A room was destroyed.</li> * <li><b>roomDestroyed</b> --&gt; A room was destroyed.</li>
* </ul> * </ul>
* Use {@link #addListener(MUCEventListener)} and {@link #removeListener(MUCEventListener)} * Use {@link #addListener(MUCEventListener)} and {@link #removeListener(MUCEventListener)}
* to add or remove {@link MUCEventListener}. * to add or remove {@link MUCEventListener}.
......
...@@ -29,9 +29,9 @@ import org.xmpp.packet.Presence; ...@@ -29,9 +29,9 @@ import org.xmpp.packet.Presence;
* Defines the permissions and actions that a MUCUser may use in * Defines the permissions and actions that a MUCUser may use in
* a particular room. Each MUCRole defines the relationship between * a particular room. Each MUCRole defines the relationship between
* a MUCRoom and a MUCUser. * a MUCRoom and a MUCUser.
* <p/> * <p>
* MUCUsers can play different roles in different chatrooms. * MUCUsers can play different roles in different chatrooms.
* * </p>
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
public interface MUCRole { public interface MUCRole {
...@@ -54,9 +54,10 @@ public interface MUCRole { ...@@ -54,9 +54,10 @@ public interface MUCRole {
* Call this method to promote or demote a user's role in a chatroom. * Call this method to promote or demote a user's role in a chatroom.
* It is common for the chatroom or other chat room members to change * It is common for the chatroom or other chat room members to change
* the role of users (a moderator promoting another user to moderator * the role of users (a moderator promoting another user to moderator
* status for example).<p> * status for example).
* <p/> * <p>
* Owning ChatUsers should have their membership roles updated. * Owning ChatUsers should have their membership roles updated.
* </p>
* *
* @param newRole The new role that the user will play. * @param newRole The new role that the user will play.
* @throws NotAllowedException Thrown if trying to change the moderator role to an owner or * @throws NotAllowedException Thrown if trying to change the moderator role to an owner or
......
...@@ -29,11 +29,12 @@ import org.xmpp.packet.Packet; ...@@ -29,11 +29,12 @@ import org.xmpp.packet.Packet;
* the chat server. Centralizing chat users to the Jabber entity that * the chat server. Centralizing chat users to the Jabber entity that
* sends and receives the chat messages allows us to create quality of * sends and receives the chat messages allows us to create quality of
* service, authorization, and resource decisions on a real-user basis. * service, authorization, and resource decisions on a real-user basis.
* <p/> * <p>
* Most chat users in a typical s2s scenario will not be local users. * Most chat users in a typical s2s scenario will not be local users.
* </p><p> * </p><p>
* MUCUsers play one or more roles in one or more chat rooms on the * MUCUsers play one or more roles in one or more chat rooms on the
* server. * server.
* </p>
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
......
...@@ -67,7 +67,7 @@ public interface PubSubService { ...@@ -67,7 +67,7 @@ public interface PubSubService {
* Returns a registry of the presence's show value of users that subscribed to a node of * Returns a registry of the presence's show value of users that subscribed to a node of
* the pubsub service and for which the node only delivers notifications for online users * the pubsub service and for which the node only delivers notifications for online users
* or node subscriptions deliver events based on the user presence show value. Offline * or node subscriptions deliver events based on the user presence show value. Offline
* users will not have an entry in the map. Note: Key-> bare JID and Value-> Map whose key * users will not have an entry in the map. Note: Key-&gt; bare JID and Value-&gt; Map whose key
* is full JID of connected resource and value is show value of the last received presence. * is full JID of connected resource and value is show value of the last received presence.
* *
* @return a registry of the presence's show value of users that subscribed to a node * @return a registry of the presence's show value of users that subscribed to a node
......
...@@ -62,7 +62,7 @@ import org.xmpp.packet.Presence; ...@@ -62,7 +62,7 @@ import org.xmpp.packet.Presence;
/** /**
* <p>A roster is a list of users that the user wishes to know if they are online.</p> * <p>A roster is a list of users that the user wishes to know if they are online.</p>
* <p>Rosters are similar to buddy groups in popular IM clients. The Roster class is * <p>Rosters are similar to buddy groups in popular IM clients. The Roster class is
* a representation of the roster data.<p/> * a representation of the roster data.</p>
* *
* <p>Updates to this roster is effectively a change to the user's roster. To reflect this, * <p>Updates to this roster is effectively a change to the user's roster. To reflect this,
* the changes to this class will automatically update the persistently stored roster, as well as * the changes to this class will automatically update the persistently stored roster, as well as
...@@ -571,7 +571,6 @@ public class Roster implements Cacheable, Externalizable { ...@@ -571,7 +571,6 @@ public class Roster implements Cacheable, Externalizable {
/** /**
* <p>Broadcast the presence update to all subscribers of the roter.</p> * <p>Broadcast the presence update to all subscribers of the roter.</p>
* <p/>
* <p>Any presence change typically results in a broadcast to the roster members.</p> * <p>Any presence change typically results in a broadcast to the roster members.</p>
* *
* @param packet The presence packet to broadcast * @param packet The presence packet to broadcast
......
...@@ -26,10 +26,10 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -26,10 +26,10 @@ import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* Dispatches roster events. The following events are supported: * Dispatches roster events. The following events are supported:
* <ul> * <ul>
* <li><b>rosterLoaded</b> --> A roster has just been loaded.</li> * <li><b>rosterLoaded</b> --&gt; A roster has just been loaded.</li>
* <li><b>contactAdded</b> --> A contact has been added to a roster.</li> * <li><b>contactAdded</b> --&gt; A contact has been added to a roster.</li>
* <li><b>contactUpdated</b> --> A contact has been updated of a roster.</li> * <li><b>contactUpdated</b> --&gt; A contact has been updated of a roster.</li>
* <li><b>contactDeleted</b> --> A contact has been deleted from a roster.</li> * <li><b>contactDeleted</b> --&gt; A contact has been deleted from a roster.</li>
* </ul> * </ul>
* Use {@link #addListener(RosterEventListener)} and {@link #removeListener(RosterEventListener)} * Use {@link #addListener(RosterEventListener)} and {@link #removeListener(RosterEventListener)}
* to add or remove {@link RosterEventListener}. * to add or remove {@link RosterEventListener}.
......
...@@ -44,7 +44,6 @@ import java.util.*; ...@@ -44,7 +44,6 @@ import java.util.*;
* <p>The server doesn't need to know anything about roster groups so they are * <p>The server doesn't need to know anything about roster groups so they are
* not stored with easy retrieval or manipulation in mind. The important data * not stored with easy retrieval or manipulation in mind. The important data
* elements of a roster item (beyond the jid adddress of the roster entry) includes:</p> * elements of a roster item (beyond the jid adddress of the roster entry) includes:</p>
* <p/>
* <ul> * <ul>
* <li>nick - A nickname for the user when used in this roster</li> * <li>nick - A nickname for the user when used in this roster</li>
* <li>sub - A subscription type: to, from, none, both</li> * <li>sub - A subscription type: to, from, none, both</li>
...@@ -508,7 +507,6 @@ public class RosterItem implements Cacheable, Externalizable { ...@@ -508,7 +507,6 @@ public class RosterItem implements Cacheable, Externalizable {
/** /**
* <p>Update the cached item as a copy of the given item.</p> * <p>Update the cached item as a copy of the given item.</p>
* <p/>
* <p>A convenience for getting the item and setting each attribute.</p> * <p>A convenience for getting the item and setting each attribute.</p>
* *
* @param item The item who's settings will be copied into the cached copy * @param item The item who's settings will be copied into the cached copy
......
...@@ -42,22 +42,19 @@ import org.xmpp.packet.JID; ...@@ -42,22 +42,19 @@ import org.xmpp.packet.JID;
/** /**
* The JDBC user provider allows you to use an external database to define the users. * The JDBC user provider allows you to use an external database to define the users.
* It is best used with the JDBCAuthProvider & JDBCGroupProvider to provide integration * It is best used with the JDBCAuthProvider &amp; JDBCGroupProvider to provide integration
* between your external system and Openfire. All data is treated as read-only so any * between your external system and Openfire. All data is treated as read-only so any
* set operations will result in an exception.<p/> * set operations will result in an exception.
* * <p>For the seach facility, the SQL will be constructed from the SQL in the <i>search</i>
* For the seach facility, the SQL will be constructed from the SQL in the <i>search</i>
* section below, as well as the <i>usernameField</i>, the <i>nameField</i> and the * section below, as well as the <i>usernameField</i>, the <i>nameField</i> and the
* <i>emailField</i>.<p/> * <i>emailField</i>.</p>
* * <p>To enable this provider, set the following in the system properties:</p>
* To enable this provider, set the following in the system properties:<p/>
*
* <ul> * <ul>
* <li><tt>provider.user.className = org.jivesoftware.openfire.user.JDBCUserProvider</tt></li> * <li><tt>provider.user.className = org.jivesoftware.openfire.user.JDBCUserProvider</tt></li>
* </ul> * </ul>
* * <p>
* Then you need to set your driver, connection string and SQL statements: * Then you need to set your driver, connection string and SQL statements:
* <p/> * </p>
* <ul> * <ul>
* <li><tt>jdbcProvider.driver = com.mysql.jdbc.Driver</tt></li> * <li><tt>jdbcProvider.driver = com.mysql.jdbc.Driver</tt></li>
* <li><tt>jdbcProvider.connectionString = jdbc:mysql://localhost/dbname?user=username&amp;password=secret</tt></li> * <li><tt>jdbcProvider.connectionString = jdbc:mysql://localhost/dbname?user=username&amp;password=secret</tt></li>
......
...@@ -30,10 +30,10 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -30,10 +30,10 @@ import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* Dispatches presence events. The following events are supported: * Dispatches presence events. The following events are supported:
* <ul> * <ul>
* <li><b>availableSession</b> --> A session is now available to receive communication.</li> * <li><b>availableSession</b> --&gt; A session is now available to receive communication.</li>
* <li><b>unavailableSession</b> --> A session is no longer available.</li> * <li><b>unavailableSession</b> --&gt; A session is no longer available.</li>
* <li><b>presencePriorityChanged</b> --> The priority of a resource has changed.</li> * <li><b>presencePriorityChanged</b> --&gt; The priority of a resource has changed.</li>
* <li><b>presenceChanged</b> --> The show or status value of an available session has changed.</li> * <li><b>presenceChanged</b> --&gt; The show or status value of an available session has changed.</li>
* </ul> * </ul>
* Use {@link #addListener(PresenceEventListener)} and * Use {@link #addListener(PresenceEventListener)} and
* {@link #removeListener(PresenceEventListener)} to add or remove {@link PresenceEventListener}. * {@link #removeListener(PresenceEventListener)} to add or remove {@link PresenceEventListener}.
......
...@@ -27,9 +27,9 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -27,9 +27,9 @@ import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* Dispatches vCard events. The following events are supported: * Dispatches vCard events. The following events are supported:
* <ul> * <ul>
* <li><b>VCardCreated</b> --> A VCard has been created.</li> * <li><b>VCardCreated</b> --&gt; A VCard has been created.</li>
* <li><b>VCardDeleted</b> --> A VCard has been deleted.</li> * <li><b>VCardDeleted</b> --&gt; A VCard has been deleted.</li>
* <li><b>VCardUpdate</b> --> A VCard has been updated.</li> * <li><b>VCardUpdate</b> --&gt; A VCard has been updated.</li>
* </ul> * </ul>
* Use {@link #addListener(org.jivesoftware.openfire.vcard.VCardListener)} * Use {@link #addListener(org.jivesoftware.openfire.vcard.VCardListener)}
* to add or remove {@link org.jivesoftware.openfire.vcard.VCardListener}. * to add or remove {@link org.jivesoftware.openfire.vcard.VCardListener}.
......
...@@ -104,11 +104,12 @@ public class VCardManager extends BasicModule implements ServerFeaturesProvider ...@@ -104,11 +104,12 @@ public class VCardManager extends BasicModule implements ServerFeaturesProvider
* has no defined text then an empty string will be returned. However, if the property * has no defined text then an empty string will be returned. However, if the property
* does not exist then a <tt>null</tt> value will be answered. Advanced user systems can * does not exist then a <tt>null</tt> value will be answered. Advanced user systems can
* use vCard information to link to user directory information or store other relevant * use vCard information to link to user directory information or store other relevant
* user information.</p> * user information.
* <p>
* Note that many elements in the vCard may have the same path so the returned value in that * Note that many elements in the vCard may have the same path so the returned value in that
* case will be the first found element. For instance, "ADR:STREET" may be present in * case will be the first found element. For instance, "ADR:STREET" may be present in
* many addresses of the user. Use {@link #getVCard(String)} to get the whole vCard of * many addresses of the user. Use {@link #getVCard(String)} to get the whole vCard of
* the user. * the user.</p>
* *
* @param username The username of the user to return his vCard property. * @param username The username of the user to return his vCard property.
* @param name The name of the vcard property to retrieve encoded with ':' to denote * @param name The name of the vcard property to retrieve encoded with ':' to denote
......
...@@ -9,7 +9,7 @@ package org.jivesoftware.util; ...@@ -9,7 +9,7 @@ package org.jivesoftware.util;
* </p> * </p>
* <ul> * <ul>
* <li>v2.2.1 - Fixed bug using URL_SAFE and ORDERED encodings. Fixed bug * <li>v2.2.1 - Fixed bug using URL_SAFE and ORDERED encodings. Fixed bug
* when using very small files (~< 40 bytes).</li> * when using very small files (~&lt; 40 bytes).</li>
* <li>v2.2 - Added some helper methods for encoding/decoding directly from * <li>v2.2 - Added some helper methods for encoding/decoding directly from
* one file to the next. Also added a main() method to support command line * one file to the next. Also added a main() method to support command line
* encoding/decoding from one file to the next. Also added these Base64 dialects: * encoding/decoding from one file to the next. Also added these Base64 dialects:
......
...@@ -21,9 +21,9 @@ import org.slf4j.Logger; ...@@ -21,9 +21,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/** /**
* A class that provides easy Blowfish encryption.<p> * A class that provides easy Blowfish encryption.
* *
* @author Markus Hahn <markus_hahn@gmx.net> * @author Markus Hahn &lt;markus_hahn@gmx.net&gt;
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
public class Blowfish implements Encryptor { public class Blowfish implements Encryptor {
......
...@@ -34,7 +34,7 @@ import java.util.*; ...@@ -34,7 +34,7 @@ import java.util.*;
* &lt;/Y&gt; * &lt;/Y&gt;
* &lt;/X&gt; * &lt;/X&gt;
* </pre> * </pre>
* And X.Y.Z:key to anotherValue as:</p> * <p>And X.Y.Z:key to anotherValue as:</p>
* <pre> * <pre>
* &lt;X&gt; * &lt;X&gt;
* &lt;Y&gt; * &lt;Y&gt;
...@@ -143,9 +143,9 @@ public class ElementUtil { ...@@ -143,9 +143,9 @@ public class ElementUtil {
* Return all values who's path matches the given property name as a String array, * Return all values who's path matches the given property name as a String array,
* or an empty array if the if there are no children. You MAY NOT use the atttribute * or an empty array if the if there are no children. You MAY NOT use the atttribute
* markup (using a ':' in the last element name) with this call. * markup (using a ':' in the last element name) with this call.
* <p/> * <p>
* getProperties() allows you to retrieve several values with the same property name. * getProperties() allows you to retrieve several values with the same property name.
* For example, consider the XML file entry: * For example, consider the XML file entry:</p>
* <pre> * <pre>
* &lt;foo&gt; * &lt;foo&gt;
* &lt;bar&gt; * &lt;bar&gt;
......
...@@ -62,8 +62,8 @@ import java.util.zip.GZIPInputStream; ...@@ -62,8 +62,8 @@ import java.util.zip.GZIPInputStream;
* which fixes a bug where users of the admin console who installed Clearspace * which fixes a bug where users of the admin console who installed Clearspace
* behind a proxy server would have to wait upwards of 5 minutes in order for the * behind a proxy server would have to wait upwards of 5 minutes in order for the
* HTTP connection to jivesoftware.com/blog/feed to timeout. * HTTP connection to jivesoftware.com/blog/feed to timeout.
* <p/> *
* See <a href="http://www.jivesoftware.com/issues/browse/CS-669">http://www.jivesoftware.com/issues/browse/CS-669</a> * @see <a href="http://www.jivesoftware.com/issues/browse/CS-669">http://www.jivesoftware.com/issues/browse/CS-669</a>
* *
*/ */
public class HttpClientWithTimeoutFeedFetcher extends AbstractFeedFetcher { public class HttpClientWithTimeoutFeedFetcher extends AbstractFeedFetcher {
......
...@@ -25,8 +25,8 @@ import java.util.*; ...@@ -25,8 +25,8 @@ import java.util.*;
/** /**
* <p>A type safe enumeration object that is keyed by an Int * <p>A type safe enumeration object that is keyed by an Int
* value for switch statements and storage in DBs.</p> * value for switch statements and storage in DBs.</p>
* <p/> * <p>
* <p>Used for indicating distinct states in a generic manner * Used for indicating distinct states in a generic manner
* where each enum should have an associated int value. The * where each enum should have an associated int value. The
* given int should be unique for each enum value as hashCode * given int should be unique for each enum value as hashCode
* and equals depends solely on the int value given. Most * and equals depends solely on the int value given. Most
......
...@@ -45,7 +45,7 @@ public class JiveConstants { ...@@ -45,7 +45,7 @@ public class JiveConstants {
* a unified date/time format for XMPP. * a unified date/time format for XMPP.
* *
* @deprecated Deprecated by the org.jivesoftware.util.XMPPDateTimeFormat class * @deprecated Deprecated by the org.jivesoftware.util.XMPPDateTimeFormat class
* @see {@link org.jivesoftware.util.XMPPDateTimeFormat} * @see org.jivesoftware.util.XMPPDateTimeFormat
*/ */
@Deprecated @Deprecated
public static final String XMPP_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; public static final String XMPP_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
...@@ -56,7 +56,7 @@ public class JiveConstants { ...@@ -56,7 +56,7 @@ public class JiveConstants {
* a specialized date format for historical XMPP usage. * a specialized date format for historical XMPP usage.
* *
* @deprecated Deprecated by the org.jivesoftware.util.XMPPDateTimeFormat class * @deprecated Deprecated by the org.jivesoftware.util.XMPPDateTimeFormat class
* @see {@link org.jivesoftware.util.XMPPDateTimeFormat} * @see org.jivesoftware.util.XMPPDateTimeFormat
*/ */
@Deprecated @Deprecated
public static final String XMPP_DELAY_DATETIME_FORMAT = "yyyyMMdd'T'HH:mm:ss"; public static final String XMPP_DELAY_DATETIME_FORMAT = "yyyyMMdd'T'HH:mm:ss";
......
...@@ -787,7 +787,7 @@ public class JiveGlobals { ...@@ -787,7 +787,7 @@ public class JiveGlobals {
* names are hidden from the Openfire console. * names are hidden from the Openfire console.
* *
* @param name The name of the property * @param name The name of the property
* @returns True if the property is considered sensitive, otherwise false * @return True if the property is considered sensitive, otherwise false
*/ */
public static boolean isPropertySensitive(String name) { public static boolean isPropertySensitive(String name) {
...@@ -802,7 +802,7 @@ public class JiveGlobals { ...@@ -802,7 +802,7 @@ public class JiveGlobals {
* Determines whether a property is configured for encryption. * Determines whether a property is configured for encryption.
* *
* @param name The name of the property * @param name The name of the property
* @returns True if the property is stored using encryption, otherwise false * @return True if the property is stored using encryption, otherwise false
*/ */
public static boolean isPropertyEncrypted(String name) { public static boolean isPropertyEncrypted(String name) {
if (securityProperties == null) { if (securityProperties == null) {
...@@ -818,7 +818,7 @@ public class JiveGlobals { ...@@ -818,7 +818,7 @@ public class JiveGlobals {
* *
* @param name The name of the property * @param name The name of the property
* @param encrypt True to encrypt the property, false to decrypt * @param encrypt True to encrypt the property, false to decrypt
* @returns True if the property's encryption status changed, otherwise false * @return True if the property's encryption status changed, otherwise false
*/ */
public static boolean setPropertyEncrypted(String name, boolean encrypt) { public static boolean setPropertyEncrypted(String name, boolean encrypt) {
if (securityProperties == null) { if (securityProperties == null) {
...@@ -839,7 +839,7 @@ public class JiveGlobals { ...@@ -839,7 +839,7 @@ public class JiveGlobals {
/** /**
* Fetches the current value of the property encryption key. * Fetches the current value of the property encryption key.
* *
* @returns The property encryption key * @return The property encryption key
*/ */
public static Encryptor getPropertyEncryptor() { public static Encryptor getPropertyEncryptor() {
if (securityProperties == null) { if (securityProperties == null) {
......
...@@ -24,16 +24,16 @@ package org.jivesoftware.util; ...@@ -24,16 +24,16 @@ package org.jivesoftware.util;
* Doubly linked node in a LinkedList. Most LinkedList implementations keep the * Doubly linked node in a LinkedList. Most LinkedList implementations keep the
* equivalent of this class private. We make it public so that references * equivalent of this class private. We make it public so that references
* to each node in the list can be maintained externally. * to each node in the list can be maintained externally.
* <p/> * <p>
* Exposing this class lets us make remove operations very fast. Remove is * Exposing this class lets us make remove operations very fast. Remove is
* built into this class and only requires two reference reassignments. If * built into this class and only requires two reference reassignments. If
* remove existed in the main LinkedList class, a linear scan would have to * remove existed in the main LinkedList class, a linear scan would have to
* be performed to find the correct node to delete. * be performed to find the correct node to delete.</p>
* <p/> * <p>
* The linked list implementation was specifically written for the Jive * The linked list implementation was specifically written for the Jive
* cache system. While it can be used as a general purpose linked list, for * cache system. While it can be used as a general purpose linked list, for
* most applications, it is more suitable to use the linked list that is part * most applications, it is more suitable to use the linked list that is part
* of the Java Collections package. * of the Java Collections package.</p>
* *
* @author Jive Software * @author Jive Software
* @see org.jivesoftware.util.LinkedList * @see org.jivesoftware.util.LinkedList
...@@ -48,12 +48,12 @@ public class LinkedListNode<E> { ...@@ -48,12 +48,12 @@ public class LinkedListNode<E> {
* This class is further customized for the CoolServlets cache system. It * This class is further customized for the CoolServlets cache system. It
* maintains a timestamp of when a Cacheable object was first added to * maintains a timestamp of when a Cacheable object was first added to
* cache. Timestamps are stored as long values and represent the number * cache. Timestamps are stored as long values and represent the number
* of milleseconds passed since January 1, 1970 00:00:00.000 GMT.<p> * of milleseconds passed since January 1, 1970 00:00:00.000 GMT.
* <p/> * <p>
* The creation timestamp is used in the case that the cache has a * The creation timestamp is used in the case that the cache has a
* maximum lifetime set. In that case, when * maximum lifetime set. In that case, when
* [current time] - [creation time] > [max lifetime], the object will be * [current time] - [creation time] &gt; [max lifetime], the object will be
* deleted from cache. * deleted from cache.</p>
*/ */
public long timestamp; public long timestamp;
......
...@@ -256,13 +256,13 @@ public class LocaleUtils { ...@@ -256,13 +256,13 @@ public class LocaleUtils {
/** /**
* Returns a list of all available time zone's as a String [][]. The first * Returns a list of all available time zone's as a String [][]. The first
* entry in each list item is the timeZoneID, and the second is the * entry in each list item is the timeZoneID, and the second is the
* display name.<p> * display name.
* <p/> * <p>
* The list of time zones attempts to be inclusive of all of the worlds * The list of time zones attempts to be inclusive of all of the worlds
* zones while being as concise as possible. For "en" language locales * zones while being as concise as possible. For "en" language locales
* the name is a friendly english name. For non-"en" language locales * the name is a friendly english name. For non-"en" language locales
* the standard JDK name is used for the given Locale. The GMT+/- time * the standard JDK name is used for the given Locale. The GMT+/- time
* is also included for readability. * is also included for readability.</p>
* *
* @return a list of time zones, as a tuple of the zime zone ID, and its * @return a list of time zones, as a tuple of the zime zone ID, and its
* display name. * display name.
......
...@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory; ...@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
* and optional parameters, as follows:<p> * and optional parameters, as follows:<p>
* *
* <table border="1"> * <table border="1">
* <caption></caption>
* <tr><th>Event Type</th><th>Extra Params</th></tr> * <tr><th>Event Type</th><th>Extra Params</th></tr>
* <tr><td>{@link EventType#property_set property_set}</td><td>A param named <tt>value</tt> that * <tr><td>{@link EventType#property_set property_set}</td><td>A param named <tt>value</tt> that
* has the value of the property set.</td></tr> * has the value of the property set.</td></tr>
......
...@@ -41,7 +41,7 @@ import org.slf4j.Logger; ...@@ -41,7 +41,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/** /**
* Utility class to peform common String manipulation algorithms. * Utility class to perform common String manipulation algorithms.
*/ */
public class StringUtils { public class StringUtils {
...@@ -255,7 +255,7 @@ public class StringUtils { ...@@ -255,7 +255,7 @@ public class StringUtils {
/** /**
* This method takes a string which may contain HTML tags (ie, &lt;b&gt;, * This method takes a string which may contain HTML tags (ie, &lt;b&gt;,
* &lt;table&gt;, etc) and converts the '&lt'' and '&gt;' characters to * &lt;table&gt;, etc) and converts the '&lt;' and '&gt;' characters to
* their HTML escape sequences. It will also replace LF with &lt;br&gt;. * their HTML escape sequences. It will also replace LF with &lt;br&gt;.
* *
* @param in the text to be converted. * @param in the text to be converted.
...@@ -268,7 +268,7 @@ public class StringUtils { ...@@ -268,7 +268,7 @@ public class StringUtils {
/** /**
* This method takes a string which may contain HTML tags (ie, &lt;b&gt;, * This method takes a string which may contain HTML tags (ie, &lt;b&gt;,
* &lt;table&gt;, etc) and converts the '&lt'' and '&gt;' characters to * &lt;table&gt;, etc) and converts the '&lt;' and '&gt;' characters to
* their HTML escape sequences. * their HTML escape sequences.
* *
* @param in the text to be converted. * @param in the text to be converted.
...@@ -333,20 +333,20 @@ public class StringUtils { ...@@ -333,20 +333,20 @@ public class StringUtils {
* excessive MessageDigest object creation. If calling this method becomes * excessive MessageDigest object creation. If calling this method becomes
* a bottleneck in your code, you may wish to maintain a pool of * a bottleneck in your code, you may wish to maintain a pool of
* MessageDigest objects instead of using this method. * MessageDigest objects instead of using this method.
* <p/> * <p>
* A hash is a one-way function -- that is, given an * A hash is a one-way function -- that is, given an
* input, an output is easily computed. However, given the output, the * input, an output is easily computed. However, given the output, the
* input is almost impossible to compute. This is useful for passwords * input is almost impossible to compute. This is useful for passwords
* since we can store the hash and a hacker will then have a very hard time * since we can store the hash and a hacker will then have a very hard time
* determining the original password. * determining the original password.</p>
* <p/> * <p>
* In Jive, every time a user logs in, we simply * In Jive, every time a user logs in, we simply
* take their plain text password, compute the hash, and compare the * take their plain text password, compute the hash, and compare the
* generated hash to the stored hash. Since it is almost impossible that * generated hash to the stored hash. Since it is almost impossible that
* two passwords will generate the same hash, we know if the user gave us * two passwords will generate the same hash, we know if the user gave us
* the correct password or not. The only negative to this system is that * the correct password or not. The only negative to this system is that
* password recovery is basically impossible. Therefore, a reset password * password recovery is basically impossible. Therefore, a reset password
* method is used instead. * method is used instead.</p>
* *
* @param data the String to compute the hash of. * @param data the String to compute the hash of.
* @return a hashed version of the passed-in String * @return a hashed version of the passed-in String
...@@ -361,20 +361,20 @@ public class StringUtils { ...@@ -361,20 +361,20 @@ public class StringUtils {
* excessive MessageDigest object creation. If calling this method becomes * excessive MessageDigest object creation. If calling this method becomes
* a bottleneck in your code, you may wish to maintain a pool of * a bottleneck in your code, you may wish to maintain a pool of
* MessageDigest objects instead of using this method. * MessageDigest objects instead of using this method.
* <p/> * <p>
* A hash is a one-way function -- that is, given an * A hash is a one-way function -- that is, given an
* input, an output is easily computed. However, given the output, the * input, an output is easily computed. However, given the output, the
* input is almost impossible to compute. This is useful for passwords * input is almost impossible to compute. This is useful for passwords
* since we can store the hash and a hacker will then have a very hard time * since we can store the hash and a hacker will then have a very hard time
* determining the original password. * determining the original password.</p>
* <p/> * <p>
* In Jive, every time a user logs in, we simply * In Jive, every time a user logs in, we simply
* take their plain text password, compute the hash, and compare the * take their plain text password, compute the hash, and compare the
* generated hash to the stored hash. Since it is almost impossible that * generated hash to the stored hash. Since it is almost impossible that
* two passwords will generate the same hash, we know if the user gave us * two passwords will generate the same hash, we know if the user gave us
* the correct password or not. The only negative to this system is that * the correct password or not. The only negative to this system is that
* password recovery is basically impossible. Therefore, a reset password * password recovery is basically impossible. Therefore, a reset password
* method is used instead. * method is used instead.</p>
* *
* @param data the String to compute the hash of. * @param data the String to compute the hash of.
* @param algorithm the name of the algorithm requested. * @param algorithm the name of the algorithm requested.
...@@ -396,20 +396,20 @@ public class StringUtils { ...@@ -396,20 +396,20 @@ public class StringUtils {
* excessive MessageDigest object creation. If calling this method becomes * excessive MessageDigest object creation. If calling this method becomes
* a bottleneck in your code, you may wish to maintain a pool of * a bottleneck in your code, you may wish to maintain a pool of
* MessageDigest objects instead of using this method. * MessageDigest objects instead of using this method.
* <p/> * <p>
* A hash is a one-way function -- that is, given an * A hash is a one-way function -- that is, given an
* input, an output is easily computed. However, given the output, the * input, an output is easily computed. However, given the output, the
* input is almost impossible to compute. This is useful for passwords * input is almost impossible to compute. This is useful for passwords
* since we can store the hash and a hacker will then have a very hard time * since we can store the hash and a hacker will then have a very hard time
* determining the original password. * determining the original password.
* <p/> * </p>
* In Jive, every time a user logs in, we simply * <p>In Jive, every time a user logs in, we simply
* take their plain text password, compute the hash, and compare the * take their plain text password, compute the hash, and compare the
* generated hash to the stored hash. Since it is almost impossible that * generated hash to the stored hash. Since it is almost impossible that
* two passwords will generate the same hash, we know if the user gave us * two passwords will generate the same hash, we know if the user gave us
* the correct password or not. The only negative to this system is that * the correct password or not. The only negative to this system is that
* password recovery is basically impossible. Therefore, a reset password * password recovery is basically impossible. Therefore, a reset password
* method is used instead. * method is used instead.</p>
* *
* @param bytes the byte array to compute the hash of. * @param bytes the byte array to compute the hash of.
* @param algorithm the name of the algorithm requested. * @param algorithm the name of the algorithm requested.
...@@ -438,10 +438,10 @@ public class StringUtils { ...@@ -438,10 +438,10 @@ public class StringUtils {
/** /**
* Turns an array of bytes into a String representing each byte as an * Turns an array of bytes into a String representing each byte as an
* unsigned hex number. * unsigned hex number.
* <p/> * <p>
* Method by Santeri Paavolainen, Helsinki Finland 1996<br> * Method by Santeri Paavolainen, Helsinki Finland 1996<br>
* (c) Santeri Paavolainen, Helsinki Finland 1996<br> * (c) Santeri Paavolainen, Helsinki Finland 1996<br>
* Distributed under LGPL. * Distributed under LGPL.</p>
* *
* @param bytes an array of bytes to convert to a hex-string * @param bytes an array of bytes to convert to a hex-string
* @return generated hex string * @return generated hex string
...@@ -627,10 +627,10 @@ public class StringUtils { ...@@ -627,10 +627,10 @@ public class StringUtils {
* of the specified length. The method uses the Random class that is * of the specified length. The method uses the Random class that is
* built-in to Java which is suitable for low to medium grade security uses. * built-in to Java which is suitable for low to medium grade security uses.
* This means that the output is only pseudo random, i.e., each number is * This means that the output is only pseudo random, i.e., each number is
* mathematically generated so is not truly random.<p> * mathematically generated so is not truly random.
* <p/> * <p>
* The specified length must be at least one. If not, the method will return * The specified length must be at least one. If not, the method will return
* null. * null.</p>
* *
* @param length the desired length of the random String to return. * @param length the desired length of the random String to return.
* @return a random String of numbers and letters of the specified length. * @return a random String of numbers and letters of the specified length.
...@@ -653,10 +653,10 @@ public class StringUtils { ...@@ -653,10 +653,10 @@ public class StringUtils {
* newline character before <code>length</code>, the String will be chopped * newline character before <code>length</code>, the String will be chopped
* there. If no newline or whitespace is found in <code>string</code> up to * there. If no newline or whitespace is found in <code>string</code> up to
* the index <code>length</code>, the String will chopped at <code>length</code>. * the index <code>length</code>, the String will chopped at <code>length</code>.
* <p/> * <p>
* For example, chopAtWord("This is a nice String", 10) will return * For example, chopAtWord("This is a nice String", 10) will return
* "This is a" which is the first word boundary less than or equal to 10 * "This is a" which is the first word boundary less than or equal to 10
* characters into the original String. * characters into the original String.</p>
* *
* @param string the String to chop. * @param string the String to chop.
* @param length the index in <code>string</code> to start looking for a * @param length the index in <code>string</code> to start looking for a
...@@ -715,9 +715,9 @@ public class StringUtils { ...@@ -715,9 +715,9 @@ public class StringUtils {
* are split apart at the earliest wordbreak or at maxLength, whichever is * are split apart at the earliest wordbreak or at maxLength, whichever is
* sooner. If the width specified is less than 5 or greater than the input * sooner. If the width specified is less than 5 or greater than the input
* Strings length the string will be returned as is. * Strings length the string will be returned as is.
* <p/> * <p>
* Please note that this method can be lossy - trailing spaces on wrapped * Please note that this method can be lossy - trailing spaces on wrapped
* lines may be trimmed. * lines may be trimmed.</p>
* *
* @param input the String to reformat. * @param input the String to reformat.
* @param width the maximum length of any one line. * @param width the maximum length of any one line.
......
...@@ -65,7 +65,6 @@ import org.slf4j.LoggerFactory; ...@@ -65,7 +65,6 @@ import org.slf4j.LoggerFactory;
* &lt;/Y&gt; * &lt;/Y&gt;
* &lt;/X&gt; * &lt;/X&gt;
* </pre> * </pre>
* <p/>
* The XML file is passed in to the constructor and must be readable and * The XML file is passed in to the constructor and must be readable and
* writable. Setting property values will automatically persist those value * writable. Setting property values will automatically persist those value
* to disk. The file encoding used is UTF-8. * to disk. The file encoding used is UTF-8.
......
...@@ -175,7 +175,7 @@ public class XMLWriter extends XMLFilterImpl implements LexicalHandler { ...@@ -175,7 +175,7 @@ public class XMLWriter extends XMLFilterImpl implements LexicalHandler {
* Sets the maximum allowed character code that should be allowed * Sets the maximum allowed character code that should be allowed
* unescaped * unescaped
* such as 127 in US-ASCII (7 bit) or 255 in ISO-* (8 bit) * such as 127 in US-ASCII (7 bit) or 255 in ISO-* (8 bit)
* or -1 to not escape any characters (other than the special XML characters like < > &) * or -1 to not escape any characters (other than the special XML characters like &lt; &gt; &amp;)
* *
* If this is not explicitly set then it is defaulted from the encoding. * If this is not explicitly set then it is defaulted from the encoding.
* *
......
...@@ -34,7 +34,7 @@ import java.util.regex.Pattern; ...@@ -34,7 +34,7 @@ import java.util.regex.Pattern;
* Utility class for date/time format conversions as specified in * Utility class for date/time format conversions as specified in
* <a href="http://www.xmpp.org/extensions/xep-0082.html">XEP-0082</a> and * <a href="http://www.xmpp.org/extensions/xep-0082.html">XEP-0082</a> and
* <a href="http://www.xmpp.org/extensions/xep-0090.html">XEP-0090</a> and * <a href="http://www.xmpp.org/extensions/xep-0090.html">XEP-0090</a> and
* For Date -> String converstion FastDateFormat is used * For Date -&gt; String converstion FastDateFormat is used
* *
*/ */
//@ThreadSafe //@ThreadSafe
...@@ -94,7 +94,7 @@ public class XMPPDateTimeFormat { ...@@ -94,7 +94,7 @@ public class XMPPDateTimeFormat {
* This method either returns a Date instance as result or it will return null or throw a ParseException * This method either returns a Date instance as result or it will return null or throw a ParseException
* in case the String couldn't be parsed. * in case the String couldn't be parsed.
* *
* @param dateStr the String that should be parsed * @param dateString the String that should be parsed
* @return the parsed date or null if the String could not be parsed * @return the parsed date or null if the String could not be parsed
* @throws ParseException * @throws ParseException
*/ */
......
...@@ -45,11 +45,11 @@ import org.slf4j.LoggerFactory; ...@@ -45,11 +45,11 @@ import org.slf4j.LoggerFactory;
/** /**
* Creates Cache objects. The returned caches will either be local or clustered * Creates Cache objects. The returned caches will either be local or clustered
* depending on the clustering enabled setting and a user's license.<p> * depending on the clustering enabled setting and a user's license.
* <p/> *
* When clustered caching is turned on, cache usage statistics for all caches * <p>When clustered caching is turned on, cache usage statistics for all caches
* that have been created are periodically published to the clustered cache * that have been created are periodically published to the clustered cache
* named "opt-$cacheStats". * named "opt-$cacheStats".</p>
* *
*/ */
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
......
...@@ -24,7 +24,7 @@ package org.jivesoftware.util.cache; ...@@ -24,7 +24,7 @@ package org.jivesoftware.util.cache;
* This specialized wrapper is used for the Components cache, which * This specialized wrapper is used for the Components cache, which
* should not be purged. * should not be purged.
* *
* See {@link http://issues.igniterealtime.org/browse/OF-114} for more info. * See <a href="http://issues.igniterealtime.org/browse/OF-114">OF-114</a> for more info.
* *
*/ */
public class ComponentCacheWrapper<K, V> extends CacheWrapper<K, V> { public class ComponentCacheWrapper<K, V> extends CacheWrapper<K, V> {
......
...@@ -226,7 +226,7 @@ public class ExternalizableUtil { ...@@ -226,7 +226,7 @@ public class ExternalizableUtil {
/** /**
* Writes a collection of Externalizable objects. The collection passed as a parameter * Writes a collection of Externalizable objects. The collection passed as a parameter
* must be a collection and not a <tt>null</null> value. * must be a collection and not a <tt>null</tt> value.
* *
* @param out the output stream. * @param out the output stream.
* @param value the collection of Externalizable objects. This value must not be null. * @param value the collection of Externalizable objects. This value must not be null.
...@@ -238,7 +238,7 @@ public class ExternalizableUtil { ...@@ -238,7 +238,7 @@ public class ExternalizableUtil {
/** /**
* Writes a collection of Serializable objects. The collection passed as a parameter * Writes a collection of Serializable objects. The collection passed as a parameter
* must be a collection and not a <tt>null</null> value. * must be a collection and not a <tt>null</tt> value.
* *
* @param out the output stream. * @param out the output stream.
* @param value the collection of Serializable objects. This value must not be null. * @param value the collection of Serializable objects. This value must not be null.
...@@ -250,7 +250,7 @@ public class ExternalizableUtil { ...@@ -250,7 +250,7 @@ public class ExternalizableUtil {
/** /**
* Reads a collection of Externalizable objects and adds them to the collection passed as a parameter. The * Reads a collection of Externalizable objects and adds them to the collection passed as a parameter. The
* collection passed as a parameter must be a collection and not a <tt>null</null> value. * collection passed as a parameter must be a collection and not a <tt>null</tt> value.
* *
* @param in the input stream. * @param in the input stream.
* @param value the collection of Externalizable objects. This value must not be null. * @param value the collection of Externalizable objects. This value must not be null.
...@@ -277,7 +277,7 @@ public class ExternalizableUtil { ...@@ -277,7 +277,7 @@ public class ExternalizableUtil {
/** /**
* Reads a collection of Serializable objects and adds them to the collection passed as a parameter. The * Reads a collection of Serializable objects and adds them to the collection passed as a parameter. The
* collection passed as a parameter must be a collection and not a <tt>null</null> value. * collection passed as a parameter must be a collection and not a <tt>null</tt> value.
* *
* @param in the input stream. * @param in the input stream.
* @param value the collection of Serializable objects. This value must not be null. * @param value the collection of Serializable objects. This value must not be null.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment