http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java index f645bc4..8022e1d 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java @@ -192,7 +192,10 @@ class CallMethod implements Comparable<CallMethod> { htmlCssUrl = hd.cssUrl().isEmpty() ? context.getHtmlCssUrl() : hd.cssUrl(); htmlNoWrap = hd.nowrap() ? hd.nowrap() : context.getHtmlNoWrap(); htmlNoResultsMessage = hd.noResultsMessage().isEmpty() ? context.getHtmlNoResultsMessage() : hd.header(); - htmlTemplate = hd.template() == HtmlDocTemplate.class ? context.getHtmlTemplate() : ClassUtils.newInstance(HtmlDocTemplate.class, hd.template()); + htmlTemplate = + hd.template() == HtmlDocTemplate.class + ? context.getHtmlTemplate() + : ClassUtils.newInstance(HtmlDocTemplate.class, hd.template()); List<Inherit> si = Arrays.asList(m.serializersInherit()); List<Inherit> pi = Arrays.asList(m.parsersInherit()); @@ -201,7 +204,9 @@ class CallMethod implements Comparable<CallMethod> { ParserGroupBuilder pgb = null; UrlEncodingParserBuilder uepb = null; - if (m.serializers().length > 0 || m.parsers().length > 0 || m.properties().length > 0 || m.flags().length > 0 || m.beanFilters().length > 0 || m.pojoSwaps().length > 0 || m.bpIncludes().length() > 0 || m.bpExcludes().length() > 0) { + if (m.serializers().length > 0 || m.parsers().length > 0 || m.properties().length > 0 || m.flags().length > 0 + || m.beanFilters().length > 0 || m.pojoSwaps().length > 0 || m.bpIncludes().length() > 0 + || m.bpExcludes().length() > 0) { sgb = new SerializerGroupBuilder(); pgb = new ParserGroupBuilder(); uepb = new UrlEncodingParserBuilder(urlEncodingParser.createPropertyStore()); @@ -267,13 +272,15 @@ class CallMethod implements Comparable<CallMethod> { try { sgb.includeProperties((Map)JsonParser.DEFAULT.parse(m.bpIncludes(), Map.class, String.class, String.class)); } catch (ParseException e) { - throw new RestServletException("Invalid format for @RestMethod.bpIncludes() on method ''{0}''. Must be a valid JSON object. \nValue: {1}", sig, m.bpIncludes()); + throw new RestServletException( + "Invalid format for @RestMethod.bpIncludes() on method ''{0}''. Must be a valid JSON object. \nValue: {1}", sig, m.bpIncludes()); } if (! m.bpExcludes().isEmpty()) try { sgb.excludeProperties((Map)JsonParser.DEFAULT.parse(m.bpExcludes(), Map.class, String.class, String.class)); } catch (ParseException e) { - throw new RestServletException("Invalid format for @RestMethod.bpExcludes() on method ''{0}''. Must be a valid JSON object. \nValue: {1}", sig, m.bpExcludes()); + throw new RestServletException( + "Invalid format for @RestMethod.bpExcludes() on method ''{0}''. Must be a valid JSON object. \nValue: {1}", sig, m.bpExcludes()); } sgb.beanFilters(m.beanFilters()); sgb.pojoSwaps(m.pojoSwaps()); @@ -321,7 +328,8 @@ class CallMethod implements Comparable<CallMethod> { try { g.append(c); } catch (Exception e) { - throw new RestServletException("Exception occurred while trying to instantiate Encoder on method ''{0}'': ''{1}''", sig, c.getSimpleName()).initCause(e); + throw new RestServletException( + "Exception occurred while trying to instantiate Encoder on method ''{0}'': ''{1}''", sig, c.getSimpleName()).initCause(e); } } encoders = g.build(); @@ -331,7 +339,8 @@ class CallMethod implements Comparable<CallMethod> { for (String s : m.defaultRequestHeaders()) { String[] h = RestUtils.parseKeyValuePair(s); if (h == null) - throw new RestServletException("Invalid default request header specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); + throw new RestServletException( + "Invalid default request header specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); defaultRequestHeaders.put(h[0], h[1]); } @@ -339,7 +348,8 @@ class CallMethod implements Comparable<CallMethod> { for (String s : m.defaultQuery()) { String[] h = RestUtils.parseKeyValuePair(s); if (h == null) - throw new RestServletException("Invalid default query parameter specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); + throw new RestServletException( + "Invalid default query parameter specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); defaultQuery.put(h[0], h[1]); } @@ -347,7 +357,8 @@ class CallMethod implements Comparable<CallMethod> { for (String s : m.defaultFormData()) { String[] h = RestUtils.parseKeyValuePair(s); if (h == null) - throw new RestServletException("Invalid default form data parameter specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); + throw new RestServletException( + "Invalid default form data parameter specified on method ''{0}'': ''{1}''. Must be in the format: ''name[:=]value''", sig, s); defaultFormData.put(h[0], h[1]); }
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/CallRouter.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/CallRouter.java b/juneau-rest/src/main/java/org/apache/juneau/rest/CallRouter.java index bbac14c..acc4de4 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/CallRouter.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/CallRouter.java @@ -19,11 +19,11 @@ import java.util.*; import javax.servlet.http.*; /** - * Represents a group of CallMethods on a REST resource that handle the same HTTP Method name but - * with different paths/matchers/guards/etc... + * Represents a group of CallMethods on a REST resource that handle the same HTTP Method name but with different + * paths/matchers/guards/etc... * <p> - * Incoming requests for a particular HTTP method type (e.g. <js>"GET"</js>) are handed off to this class - * and then dispatched to the appropriate CallMethod. + * Incoming requests for a particular HTTP method type (e.g. <js>"GET"</js>) are handed off to this class and then + * dispatched to the appropriate CallMethod. */ class CallRouter { private final CallMethod[] callMethods; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java b/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java index bed46f1..93478c2 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/ReaderResource.java @@ -25,8 +25,8 @@ import org.apache.juneau.rest.response.*; import org.apache.juneau.svl.*; /** - * Represents the contents of a text file with convenience methods for resolving - * {@link Parameter} variables and adding HTTP response headers. + * Represents the contents of a text file with convenience methods for resolving {@link Parameter} variables and adding + * HTTP response headers. * <p> * This class is handled special by the {@link WritableHandler} class. */ @@ -39,6 +39,7 @@ public class ReaderResource implements Writable { /** * Constructor. + * * @param mediaType The HTTP media type. * @param contents The contents of this resource. * <br>If multiple contents are specified, the results will be concatenated. @@ -56,6 +57,7 @@ public class ReaderResource implements Writable { /** * Constructor. + * * @param mediaType The resource media type. * @param headers The HTTP response headers for this streamed resource. * @param varSession Optional variable resolver for resolving variables in the string. @@ -110,6 +112,7 @@ public class ReaderResource implements Writable { /** * Specifies the resource media type string. + * * @param mediaType The resource media type string. * @return This object (for method chaining). */ @@ -120,6 +123,7 @@ public class ReaderResource implements Writable { /** * Specifies the resource media type string. + * * @param mediaType The resource media type string. * @return This object (for method chaining). */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java b/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java index ad81006..1a79d24 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java @@ -23,7 +23,7 @@ import org.apache.juneau.urlencoding.*; * REST methods can return this object as a shortcut for performing <code>HTTP 302</code> redirects. * <p> * The following example shows the difference between handling redirects via the {@link RestRequest}/{@link RestResponse}, - * and the simplified approach of using this class. + * and the simplified approach of using this class. * <p class='bcode'> * <jc>// Redirect to "/contextPath/servletPath/foobar"</jc> * @@ -48,8 +48,8 @@ import org.apache.juneau.urlencoding.*; * } * </p> * <p> - * The arguments are serialized to strings using the servlet's {@link UrlEncodingSerializer}, - * so any filters defined on the serializer or REST method/class will be used when present. + * The arguments are serialized to strings using the servlet's {@link UrlEncodingSerializer}, so any filters defined on + * the serializer or REST method/class will be used when present. * The arguments will also be automatically URL-encoded. * <p> * Redirecting to the servlet root can be accomplished by simply using the no-arg constructor. @@ -62,8 +62,8 @@ import org.apache.juneau.urlencoding.*; * } * </p> * <p> - * This class is handled by {@link org.apache.juneau.rest.response.RedirectHandler}, a built-in default - * response handler created in {@link RestConfig}. + * This class is handled by {@link org.apache.juneau.rest.response.RedirectHandler}, a built-in default response + * handler created in {@link RestConfig}. */ public final class Redirect { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java index 80fe80a..a7fe2e5 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestBody.java @@ -134,7 +134,7 @@ public class RequestBody { * <p> * Refer to <a class="doclink" href="../../../../overview-summary.html#Core.PojoCategories">POJO Categories</a> for * a complete definition of supported POJOs. - * <p> + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into an integer.</jc> @@ -166,7 +166,7 @@ public class RequestBody { /** * Reads the input from the HTTP request as JSON, XML, or HTML and converts the input to a POJO. - * <p> + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into a linked-list of strings.</jc> @@ -183,12 +183,12 @@ public class RequestBody { * </p> * * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, - * {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, - * {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param <T> The class type to instantiate. * @return The input parsed to a POJO. */ @@ -230,6 +230,7 @@ public class RequestBody { * string. * <p> * Automatically handles GZipped input streams. + * * @return The body contents as a reader. * @throws IOException */ @@ -260,8 +261,7 @@ public class RequestBody { * Automatically handles GZipped input streams. * * @return The negotiated input stream. - * @throws IOException If any error occurred while trying to get the input stream or wrap it - * in the GZIP wrapper. + * @throws IOException If any error occurred while trying to get the input stream or wrap it in the GZIP wrapper. */ public ServletInputStream getInputStream() throws IOException { @@ -281,8 +281,8 @@ public class RequestBody { /** * Returns the parser and media type matching the request <code>Content-Type</code> header. * - * @return The parser matching the request <code>Content-Type</code> header, or <jk>null</jk> - * if no matching parser was found. + * @return The parser matching the request <code>Content-Type</code> header, or <jk>null</jk> if no matching parser + * was found. * Includes the matching media type. */ public ParserMatch getParserMatch() { @@ -305,8 +305,8 @@ public class RequestBody { /** * Returns the parser matching the request <code>Content-Type</code> header. * - * @return The parser matching the request <code>Content-Type</code> header, or <jk>null</jk> - * if no matching parser was found. + * @return The parser matching the request <code>Content-Type</code> header, or <jk>null</jk> if no matching parser + * was found. */ public Parser getParser() { ParserMatch pm = getParserMatch(); @@ -316,8 +316,8 @@ public class RequestBody { /** * Returns the reader parser matching the request <code>Content-Type</code> header. * - * @return The reader parser matching the request <code>Content-Type</code> header, or <jk>null</jk> - * if no matching reader parser was found, or the matching parser was an input stream parser. + * @return The reader parser matching the request <code>Content-Type</code> header, or <jk>null</jk> if no matching + * reader parser was found, or the matching parser was an input stream parser. */ public ReaderParser getReaderParser() { Parser p = getParser(); @@ -399,6 +399,7 @@ public class RequestBody { /** * Returns the content length of the body. + * * @return The content length of the body in bytes. */ public int getContentLength() { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java index 7de7cdb..4c56c33 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestFormData.java @@ -77,12 +77,14 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { * Returns a form data parameter value. * <p> * Parameter lookup is case-insensitive (consistent with WAS, but differs from Tomcat). - * <p> + * * <h5 class='section'>Notes:</h5> * <ul> - * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the underlying servlet API. - * <li>This method returns the raw unparsed value, and differs from calling <code>getFormDataParameter(name, String.<jk>class</js>)</code> - * which will convert the value from UON notation: + * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the + * underlying servlet API. + * <li>This method returns the raw unparsed value, and differs from calling + * <code>getFormDataParameter(name, String.<jk>class</js>)</code> which will convert the value from UON + * notation: * <ul> * <li><js>"null"</js> => <jk>null</jk> * <li><js>"'null'"</js> => <js>"null"</js> @@ -165,9 +167,9 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { } /** - * Returns the specified form data parameter value converted to a POJO using the - * {@link UrlEncodingParser} registered with this servlet. - * <p> + * Returns the specified form data parameter value converted to a POJO using the {@link UrlEncodingParser} + * registered with this servlet. + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into an integer.</jc> @@ -185,10 +187,11 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { * <jc>// Parse into a map of object keys/values.</jc> * Map myparam = req.getFormDataParameter(<js>"myparam"</js>, TreeMap.<jk>class</jk>); * </p> - * <p> + * * <h5 class='section'>Notes:</h5> * <ul> - * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the underlying servlet API. + * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the + * underlying servlet API. * </ul> * * @param name The parameter name. @@ -217,7 +220,7 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { /** * Same as {@link #get(String, Class)} except for use on multi-part parameters - * (e.g. <js>"key=1&key=2&key=3"</js> instead of <js>"key=(1,2,3)"</js>) + * (e.g. <js>"key=1&key=2&key=3"</js> instead of <js>"key=(1,2,3)"</js>) * <p> * This method must only be called when parsing into classes of type Collection or array. * @@ -231,15 +234,16 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { } /** - * Returns the specified form data parameter value converted to a POJO using the - * {@link UrlEncodingParser} registered with this servlet. - * <p> + * Returns the specified form data parameter value converted to a POJO using the {@link UrlEncodingParser} + * registered with this servlet. + * * <h5 class='section'>Notes:</h5> * <ul> - * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the underlying servlet API. + * <li>Calling this method on URL-Encoded FORM posts causes the body content to be loaded and parsed by the + * underlying servlet API. * <li>Use this method if you want to parse into a parameterized <code>Map</code>/<code>Collection</code> object. * </ul> - * <p> + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into a linked-list of strings.</jc> @@ -257,10 +261,12 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { * * @param name The parameter name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @return The parameter value converted to the specified class type. * @throws ParseException */ @@ -270,16 +276,18 @@ public class RequestFormData extends LinkedHashMap<String,String[]> { /** * Same as {@link #get(String, Type, Type...)} except for use on multi-part parameters - * (e.g. <js>"key=1&key=2&key=3"</js> instead of <js>"key=(1,2,3)"</js>) + * (e.g. <js>"key=1&key=2&key=3"</js> instead of <js>"key=(1,2,3)"</js>) * <p> * This method must only be called when parsing into classes of type Collection or array. * * @param name The parameter name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @return The parameter value converted to the specified class type. * @throws ParseException */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java index 992f954..ff3f3cd 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestHeaders.java @@ -99,7 +99,8 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Returns the specified header value, or <jk>null</jk> if the header doesn't exist. * <p> - * If {@code allowHeaderParams} init parameter is <jk>true</jk>, then first looks for {@code &HeaderName=x} in the URL query string. + * If {@code allowHeaderParams} init parameter is <jk>true</jk>, then first looks for {@code &HeaderName=x} in the + * URL query string. * <p> * @param name The header name. * @return The header value, or <jk>null</jk> if it doesn't exist. @@ -118,7 +119,8 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Returns the specified header value, or a default value if the header doesn't exist. * <p> - * If {@code allowHeaderParams} init parameter is <jk>true</jk>, then first looks for {@code &HeaderName=x} in the URL query string. + * If {@code allowHeaderParams} init parameter is <jk>true</jk>, then first looks for {@code &HeaderName=x} in the + * URL query string. * * @param name The HTTP header name. * @param def The default value to return if the header value isn't found. @@ -186,9 +188,9 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Returns the specified header value converted to a POJO. * <p> - * The type can be any POJO type convertable from a <code>String</code> - * (See <a class="doclink" href="package-summary.html#PojosConvertableFromString">POJOs Convertable From Strings</a>). - * <p> + * The type can be any POJO type convertible from a <code>String</code> + * (See <a class="doclink" href="package-summary.html#PojosConvertableFromString">POJOs Convertible From Strings</a>). + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into an integer.</jc> @@ -227,9 +229,9 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Returns the specified header value converted to a POJO. * <p> - * The type can be any POJO type convertable from a <code>String</code> - * (See <a class="doclink" href="package-summary.html#PojosConvertableFromString">POJOs Convertable From Strings</a>). - * <p> + * The type can be any POJO type convertible from a <code>String</code> + * (See <a class="doclink" href="package-summary.html#PojosConvertableFromString">POJOs Convertible From Strings</a>). + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into a linked-list of strings.</jc> @@ -238,10 +240,12 @@ public class RequestHeaders extends TreeMap<String,String[]> { * * @param name The HTTP header name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param <T> The class type to convert the header value to. * @return The parameter value converted to the specified class type. * @throws ParseException If the header could not be converted to the specified type. @@ -254,6 +258,7 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Returns a copy of this object, but only with the specified header names copied. + * * @param headers The headers to include in the copy. * @return A new headers object. */ @@ -267,6 +272,7 @@ public class RequestHeaders extends TreeMap<String,String[]> { /** * Same as {@link #subset(String...)}, but allows you to specify header names as a comma-delimited list. + * * @param headers The headers to include in the copy. * @return A new headers object. */ @@ -285,7 +291,6 @@ public class RequestHeaders extends TreeMap<String,String[]> { * </p> * * @return The parsed <code>Accept</code> header on the request, or <jk>null</jk> if not found. - * */ public Accept getAccept() { return Accept.forString(getString("Accept")); @@ -490,7 +495,8 @@ public class RequestHeaders extends TreeMap<String,String[]> { * Returns the <code>If-Match</code> header on the request. * <p> * Only perform the action if the client supplied entity matches the same entity on the server. - * This is mainly for methods like PUT to only update a resource if it has not been modified since the user last updated it. + * This is mainly for methods like PUT to only update a resource if it has not been modified since the user last + * updated it. * * <h6 class='figure'>Example:</h6> * <p class='bcode'> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RequestPathMatch.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestPathMatch.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestPathMatch.java index 7712a3d..fa75767 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestPathMatch.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestPathMatch.java @@ -66,9 +66,9 @@ public class RequestPathMatch extends TreeMap<String,String> { /** * Returns the specified path parameter converted to a POJO. * <p> - * The type can be any POJO type convertable from a <code>String</code> (See <a class="doclink" - * href="package-summary.html#PojosConvertableFromString">POJOs Convertable From Strings</a>). - * <p> + * The type can be any POJO type convertible from a <code>String</code> (See <a class="doclink" + * href="package-summary.html#PojosConvertibleFromString">POJOs Convertible From Strings</a>). + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into an integer.</jc> @@ -100,10 +100,11 @@ public class RequestPathMatch extends TreeMap<String,String> { /** * Returns the specified path parameter converted to a POJO. * <p> - * The type can be any POJO type convertable from a <code>String</code> (See <a class="doclink" href="package-summary.html#PojosConvertableFromString">POJOs Convertable From Strings</a>). + * The type can be any POJO type convertible from a <code>String</code> (See <a class="doclink" + * href="package-summary.html#PojosConvertibleFromString">POJOs Convertible From Strings</a>). * <p> * Use this method if you want to parse into a parameterized <code>Map</code>/<code>Collection</code> object. - * <p> + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into a linked-list of strings.</jc> @@ -121,10 +122,12 @@ public class RequestPathMatch extends TreeMap<String,String> { * * @param name The attribute name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param <T> The class type to convert the attribute value to. * @return The attribute value converted to the specified class type. * @throws ParseException @@ -205,7 +208,7 @@ public class RequestPathMatch extends TreeMap<String,String> { /** * Same as {@link #getRemainder()} but doesn't decode characters. * - * @return The undecoded path remainder. + * @return The un-decoded path remainder. */ public String getRemainderUndecoded() { return remainder; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java index 104e4b9..c4d9a7c 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RequestQuery.java @@ -79,9 +79,11 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { /** * Returns a query parameter value. * <p> - * Same as {@link HttpServletRequest#getParameter(String)} except only looks in the URL string, not parameters from URL-Encoded FORM posts. + * Same as {@link HttpServletRequest#getParameter(String)} except only looks in the URL string, not parameters from + * URL-Encoded FORM posts. * <p> - * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse the request body. + * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse + * the request body. * <p> * If multiple query parameters have the same name, this returns only the first instance. * @@ -103,11 +105,13 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { } /** - * Same as {@link #getString(String)} but returns the specified default value if the query parameter was not specified. + * Same as {@link #getString(String)} but returns the specified default value if the query parameter was not + * specified. * * @param name The URL parameter name. * @param def The default value. - * @return The parameter value, or the default value if parameter not specified or has no value (e.g. <js>"&foo"</js>. + * @return The parameter value, or the default value if parameter not specified or has no value + * (e.g. <js>"&foo"</js>. */ public String getString(String name, String def) { String s = getString(name); @@ -118,7 +122,8 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * Same as {@link #getString(String)} but converts the value to an integer. * * @param name The URL parameter name. - * @return The parameter value, or <code>0</code> if parameter not specified or has no value (e.g. <js>"&foo"</js>. + * @return The parameter value, or <code>0</code> if parameter not specified or has no value + * (e.g. <js>"&foo"</js>. */ public int getInt(String name) { return getInt(name, 0); @@ -129,7 +134,8 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * * @param name The URL parameter name. * @param def The default value. - * @return The parameter value, or the default value if parameter not specified or has no value (e.g. <js>"&foo"</js>. + * @return The parameter value, or the default value if parameter not specified or has no value + * (e.g. <js>"&foo"</js>. */ public int getInt(String name, int def) { String s = getString(name); @@ -140,7 +146,8 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * Same as {@link #getString(String)} but converts the value to a boolean. * * @param name The URL parameter name. - * @return The parameter value, or <jk>false</jk> if parameter not specified or has no value (e.g. <js>"&foo"</js>. + * @return The parameter value, or <jk>false</jk> if parameter not specified or has no value + * (e.g. <js>"&foo"</js>. */ public boolean getBoolean(String name) { return getBoolean(name, false); @@ -151,7 +158,8 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * * @param name The URL parameter name. * @param def The default value. - * @return The parameter value, or the default value if parameter not specified or has no value (e.g. <js>"&foo"</js>. + * @return The parameter value, or the default value if parameter not specified or has no value + * (e.g. <js>"&foo"</js>. */ public boolean getBoolean(String name, boolean def) { String s = getString(name); @@ -161,8 +169,9 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { /** * Returns the specified query parameter value converted to a POJO. * <p> - * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse the request body. - * <p> + * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse + * the request body. + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into an integer.</jc> @@ -208,10 +217,11 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { /** * Returns the specified query parameter value converted to a POJO. * <p> - * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse the request body. + * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse + * the request body. * <p> * Use this method if you want to parse into a parameterized <code>Map</code>/<code>Collection</code> object. - * <p> + * * <h5 class='section'>Examples:</h5> * <p class='bcode'> * <jc>// Parse into a linked-list of strings.</jc> @@ -229,10 +239,12 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * * @param name The parameter name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param <T> The class type to convert the parameter value to. * @return The parameter value converted to the specified class type. * @throws ParseException @@ -246,10 +258,12 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * * @param name The parameter name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param def The default value if the parameter was not specified or is <jk>null</jk>. * @param <T> The class type to convert the parameter value to. * @return The parameter value converted to the specified class type. @@ -283,10 +297,12 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * * @param name The query parameter name. * @param type The type of object to create. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} * @param args The type arguments of the class if it's a collection or map. - * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} - * <br>Ignored if the main type is not a map or collection. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, + * {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. * @param <T> The class type to convert the parameter value to. * @return The query parameter value converted to the specified class type. * @throws ParseException @@ -313,26 +329,32 @@ public final class RequestQuery extends LinkedHashMap<String,String[]> { * <p> * The query arguments are as follows: * <ul> - * <li><js>"&s="</js> - A comma-delimited list of column-name/search-token pairs. + * <li> + * <js>"&s="</js> - A comma-delimited list of column-name/search-token pairs. * <br>Example: <js>"&s=column1=foo*,column2=*bar"</js> - * <li><js>"&v="</js> - A comma-delimited list column names to view. + * <li> + * <js>"&v="</js> - A comma-delimited list column names to view. * <br>Example: <js>"&v=column1,column2"</js> - * <li><js>"&o="</js> - A comma-delimited list column names to sort by. + * <li> + * <js>"&o="</js> - A comma-delimited list column names to sort by. * <br>Column names can be suffixed with <js>'-'</js> to indicate descending order. * <br>Example: <js>"&o=column1,column2-"</js> - * <li><js>"&p="</js> - The zero-index row number of the first row to display. + * <li> + * <js>"&p="</js> - The zero-index row number of the first row to display. * <br>Example: <js>"&p=100"</js> - * <li><js>"&l="</js> - The number of rows to return. + * <li> + * <js>"&l="</js> - The number of rows to return. * <br><code>0</code> implies return all rows. * <br>Example: <js>"&l=100"</js> - * <li><js>"&i="</js> - The case-insensitive search flag. + * <li> + * <js>"&i="</js> - The case-insensitive search flag. * <br>Example: <js>"&i=true"</js> * </ul> * <p> * Whitespace is trimmed in the parameters. * * @return A new {@link SearchArgs} object initialized with the special search query arguments. - * <jk>null</jk> if no search arguments were found. + * <jk>null</jk> if no search arguments were found. */ public SearchArgs getSearchArgs() { if (hasAny("s","v","o","p","l","i")) { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/ResponseHandler.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/ResponseHandler.java b/juneau-rest/src/main/java/org/apache/juneau/rest/ResponseHandler.java index da7c3e9..43dbc4f 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/ResponseHandler.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/ResponseHandler.java @@ -23,32 +23,41 @@ import org.apache.juneau.rest.response.*; /** * Defines the interface for handlers that convert POJOs to appropriate HTTP responses. * <p> - * The {@link RestServlet} API uses the concept of registered response handlers for - * converting objects returned by REST methods or set through {@link RestResponse#setOutput(Object)} - * into appropriate HTTP responses. + * The {@link RestServlet} API uses the concept of registered response handlers for converting objects returned by REST + * methods or set through {@link RestResponse#setOutput(Object)} into appropriate HTTP responses. * <p> * Response handlers can be associated with {@link RestServlet RestServlets} through the following ways: * <ul class='spaced-list'> - * <li>Through the {@link RestResource#responseHandlers @RestResource.responseHandlers} annotation. - * <li>By calling the {@link RestConfig#addResponseHandlers(Class...)} and augmenting or creating your + * <li> + * Through the {@link RestResource#responseHandlers @RestResource.responseHandlers} annotation. + * <li> + * By calling the {@link RestConfig#addResponseHandlers(Class...)} and augmenting or creating your * own list of handlers. * </ul> * <p> * By default, {@link RestServlet RestServlets} are registered with the following response handlers: * <ul class='spaced-list'> - * <li>{@link DefaultHandler} - Serializes POJOs using the Juneau serializer API. - * <li>{@link ReaderHandler} - Pipes the output of {@link Reader Readers} to the response writer ({@link RestResponse#getWriter()}). - * <li>{@link InputStreamHandler} - Pipes the output of {@link InputStream InputStreams} to the response output stream ({@link RestResponse#getOutputStream()}). - * <li>{@link RedirectHandler} - Handles {@link Redirect} objects. - * <li>{@link WritableHandler} - Handles {@link Writable} objects. - * <li>{@link StreamableHandler} - Handles {@link Streamable} objects. + * <li> + * {@link DefaultHandler} - Serializes POJOs using the Juneau serializer API. + * <li> + * {@link ReaderHandler} - Pipes the output of {@link Reader Readers} to the response writer + * ({@link RestResponse#getWriter()}). + * <li> + * {@link InputStreamHandler} - Pipes the output of {@link InputStream InputStreams} to the response output + * stream ({@link RestResponse#getOutputStream()}). + * <li> + * {@link RedirectHandler} - Handles {@link Redirect} objects. + * <li> + * {@link WritableHandler} - Handles {@link Writable} objects. + * <li> + * {@link StreamableHandler} - Handles {@link Streamable} objects. * </ul> * <p> * Response handlers can be used to process POJOs that cannot normally be handled through Juneau serializers, or - * because it's simply easier to define response handlers for special cases. + * because it's simply easier to define response handlers for special cases. * <p> - * The following example shows how to create a response handler to handle special <code>Foo</code> objects outside the normal - * Juneau architecture. + * The following example shows how to create a response handler to handle special <code>Foo</code> objects outside the + * normal Juneau architecture. * <p class='bcode'> * <ja>@RestResource</ja>( * path=<js>"/example"</js>, @@ -87,8 +96,10 @@ public interface ResponseHandler { * @param res The HTTP servlet response; * @param output The POJO returned by the REST method that now needs to be sent to the response. * @return true If this handler handled the response. - * @throws IOException If low-level exception occurred on output stream. Results in a {@link HttpServletResponse#SC_INTERNAL_SERVER_ERROR} error. - * @throws RestException If some other exception occurred. Can be used to provide an appropriate HTTP response code and message. + * @throws IOException If low-level exception occurred on output stream. + * Results in a {@link HttpServletResponse#SC_INTERNAL_SERVER_ERROR} error. + * @throws RestException If some other exception occurred. + * Can be used to provide an appropriate HTTP response code and message. */ boolean handle(RestRequest req, RestResponse res, Object output) throws IOException, RestException; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java index d60c489..663b184 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestCallHandler.java @@ -47,6 +47,7 @@ public class RestCallHandler { /** * Constructor. + * * @param context The resource context. */ public RestCallHandler(RestContext context) { @@ -71,7 +72,7 @@ public class RestCallHandler { /** * Creates a {@link RestResponse} object based on the specified incoming {@link HttpServletResponse} object - * and the request returned by {@link #createRequest(HttpServletRequest)}. + * and the request returned by {@link #createRequest(HttpServletRequest)}. * <p> * Subclasses may choose to override this method to provide a specialized response object. * @@ -188,14 +189,15 @@ public class RestCallHandler { } /** - * The main method for serializing POJOs passed in through the {@link RestResponse#setOutput(Object)} method or returned by - * the Java method. + * The main method for serializing POJOs passed in through the {@link RestResponse#setOutput(Object)} method or + * returned by the Java method. * <p> - * Subclasses may override this method if they wish to modify the way the output is rendered or support - * other output formats. + * Subclasses may override this method if they wish to modify the way the output is rendered or support other output + * formats. * <p> * The default implementation simply iterates through the response handlers on this resource - * looking for the first one whose {@link ResponseHandler#handle(RestRequest, RestResponse, Object)} method returns <jk>true</jk>. + * looking for the first one whose {@link ResponseHandler#handle(RestRequest, RestResponse, Object)} method returns + * <jk>true</jk>. * * @param req The HTTP request. * @param res The HTTP response. @@ -239,7 +241,8 @@ public class RestCallHandler { /** * Method for handling response errors. * <p> - * The default implementation logs the error and calls {@link #renderError(HttpServletRequest,HttpServletResponse,RestException)}. + * The default implementation logs the error and calls + * {@link #renderError(HttpServletRequest,HttpServletResponse,RestException)}. * <p> * Subclasses can override this method to provide their own custom error response handling. * @@ -257,8 +260,8 @@ public class RestCallHandler { /** * Method for rendering response errors. * <p> - * The default implementation renders a plain text English message, optionally with a stack trace - * if {@link RestContext#REST_renderResponseStackTraces} is enabled. + * The default implementation renders a plain text English message, optionally with a stack trace if + * {@link RestContext#REST_renderResponseStackTraces} is enabled. * <p> * Subclasses can override this method to provide their own custom error response handling. * @@ -316,8 +319,8 @@ public class RestCallHandler { /** * Callback method that gets invoked right before the REST Java method is invoked. * <p> - * Subclasses can override this method to override request headers or set request-duration properties - * before the Java method is invoked. + * Subclasses can override this method to override request headers or set request-duration properties before the + * Java method is invoked. * * @param req The HTTP servlet request object. * @throws RestException If any error occurs. @@ -328,11 +331,11 @@ public class RestCallHandler { } /** - * Callback method that gets invoked right after the REST Java method is invoked, but before - * the serializer is invoked. + * Callback method that gets invoked right after the REST Java method is invoked, but before the serializer is + * invoked. * <p> - * Subclasses can override this method to override request and response headers, or - * set/override properties used by the serializer. + * Subclasses can override this method to override request and response headers, or set/override properties used by + * the serializer. * * @param req The HTTP servlet request object. * @param res The HTTP servlet response object. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java index df84f52..0e99c03 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java @@ -278,7 +278,7 @@ public class RestConfig implements ServletConfig { * used to resolve string variables of the form <js>"$X{...}"</js>. * <p> * By default, this config includes the following variables: - * <ul class='spaced-list'> + * <ul> * <li>{@link SystemPropertiesVar} * <li>{@link EnvVariablesVar} * <li>{@link ConfigFileVar} @@ -308,11 +308,12 @@ public class RestConfig implements ServletConfig { /** * Adds a var context object to this config. * <p> - * Var context objects are read-only objects associated with the variable resolver for - * vars that require external information. + * Var context objects are read-only objects associated with the variable resolver for vars that require external + * information. * <p> - * For example, the {@link ConfigFileVar} needs access to this resource's {@link ConfigFile} through the {@link ConfigFileVar#SESSION_config} - * object that can be specified as either a session object (temporary) or context object (permanent). + * For example, the {@link ConfigFileVar} needs access to this resource's {@link ConfigFile} through the + * {@link ConfigFileVar#SESSION_config} object that can be specified as either a session object (temporary) or + * context object (permanent). * In this case, we call the following code to add it to the context map: * <p class='bcode'> * config.addVarContextObject(<jsf>SESSION_config</jsf>, configFile); @@ -330,7 +331,8 @@ public class RestConfig implements ServletConfig { /** * Overwrites the default config file with a custom config file. * <p> - * By default, the config file is determined using the {@link RestResource#config() @RestResource.config()} annotation. + * By default, the config file is determined using the {@link RestResource#config() @RestResource.config()} + * annotation. * This method allows you to programmatically override it with your own custom config file. * * @param configFile The new config file. @@ -373,9 +375,11 @@ public class RestConfig implements ServletConfig { /** * Adds class-level bean filters to this resource. * <p> - * This is the programmatic equivalent to the {@link RestResource#beanFilters() @RestResource.beanFilters()} annotation. + * This is the programmatic equivalent to the {@link RestResource#beanFilters() @RestResource.beanFilters()} + * annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param beanFilters The bean filters to add to this config. * @return This object (for method chaining). @@ -390,7 +394,8 @@ public class RestConfig implements ServletConfig { * <p> * This is the programmatic equivalent to the {@link RestResource#pojoSwaps() @RestResource.pojoSwaps()} annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param pojoSwaps The pojo swaps to add to this config. * @return This object (for method chaining). @@ -403,7 +408,8 @@ public class RestConfig implements ServletConfig { /** * Specifies the serializer listener class to use for listening to non-fatal serialization errors. * <p> - * This is the programmatic equivalent to the {@link RestResource#serializerListener() @RestResource.serializerListener()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#serializerListener() @RestResource.serializerListener()} annotation. * * @param listener The listener to add to this config. * @return This object (for method chaining). @@ -417,7 +423,8 @@ public class RestConfig implements ServletConfig { /** * Specifies the parser listener class to use for listening to non-fatal parse errors. * <p> - * This is the programmatic equivalent to the {@link RestResource#parserListener() @RestResource.parserListener()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#parserListener() @RestResource.parserListener()} annotation. * * @param listener The listener to add to this config. * @return This object (for method chaining). @@ -431,7 +438,8 @@ public class RestConfig implements ServletConfig { /** * Adds class-level parameter resolvers to this resource. * <p> - * This is the programmatic equivalent to the {@link RestResource#paramResolvers() @RestResource.paramResolvers()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#paramResolvers() @RestResource.paramResolvers()} annotation. * * @param paramResolvers The parameter resolvers to add to this config. * @return This object (for method chaining). @@ -444,9 +452,11 @@ public class RestConfig implements ServletConfig { /** * Adds class-level serializers to this resource. * <p> - * This is the programmatic equivalent to the {@link RestResource#serializers() @RestResource.serializers()} annotation. + * This is the programmatic equivalent to the {@link RestResource#serializers() @RestResource.serializers()} + * annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param serializers The serializer classes to add to this config. * @return This object (for method chaining). @@ -460,12 +470,14 @@ public class RestConfig implements ServletConfig { * Adds class-level serializers to this resource. * <p> * Same as {@link #addSerializers(Class...)} except allows you to pass in serializer instances. - * The actual serializer ends up being the result of this operation using the bean filters, pojo swaps, and properties on this config: + * The actual serializer ends up being the result of this operation using the bean filters, pojo swaps, and + * properties on this config: * <p class='bcode'> * serializer = serializer.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build(); * </p> * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param serializers The serializers to add to this config. * @return This object (for method chaining). @@ -480,7 +492,8 @@ public class RestConfig implements ServletConfig { * <p> * This is the programmatic equivalent to the {@link RestResource#parsers() @RestResource.parsers()} annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param parsers The parser classes to add to this config. * @return This object (for method chaining). @@ -494,12 +507,14 @@ public class RestConfig implements ServletConfig { * Adds class-level parsers to this resource. * <p> * Same as {@link #addParsers(Class...)} except allows you to pass in parser instances. - * The actual parser ends up being the result of this operation using the bean filters, pojo swaps, and properties on this config: + * The actual parser ends up being the result of this operation using the bean filters, pojo swaps, and properties + * on this config: * <p class='bcode'> * parser = parser.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build(); * </p> * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param parsers The parsers to add to this config. * @return This object (for method chaining). @@ -514,7 +529,8 @@ public class RestConfig implements ServletConfig { * <p> * This is the programmatic equivalent to the {@link RestResource#encoders() @RestResource.encoders()} annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * <p> * By default, only the {@link IdentityEncoder} is included in this list. * @@ -542,12 +558,14 @@ public class RestConfig implements ServletConfig { /** * Adds class-level converters to this resource. * <p> - * This is the programmatic equivalent to the {@link RestResource#converters() @RestResource.converters()} annotation. + * This is the programmatic equivalent to the {@link RestResource#converters() @RestResource.converters()} + * annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * <p> * By default, this config includes the following converters: - * <ul class='spaced-list'> + * <ul> * <li>{@link StreamableHandler} * <li>{@link WritableHandler} * <li>{@link ReaderHandler} @@ -582,7 +600,8 @@ public class RestConfig implements ServletConfig { * <p> * This is the programmatic equivalent to the {@link RestResource#guards() @RestResource.guards()} annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param guards The guard classes to add to this config. * @return This object (for method chaining). @@ -617,7 +636,7 @@ public class RestConfig implements ServletConfig { * Refer to {@link MimetypesFileTypeMap#addMimeTypes(String)} for an explanation of the format. * <p> * By default, this config includes the following mime-type definitions: - * <ul class='spaced-list'> + * <ul> * <li><js>"text/css css CSS"</js> * <li><js>"text/html html htm HTML"</js> * <li><js>"text/plain txt text TXT"</js> @@ -641,9 +660,11 @@ public class RestConfig implements ServletConfig { * Adds class-level default HTTP request headers to this resource. * <p> * Default request headers are default values for when HTTP requests do not specify a header value. - * For example, you can specify a default value for <code>Accept</code> if a request does not specify that header value. + * For example, you can specify a default value for <code>Accept</code> if a request does not specify that header + * value. * <p> - * This is the programmatic equivalent to the {@link RestResource#defaultRequestHeaders() @RestResource.defaultRequestHeaders()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#defaultRequestHeaders() @RestResource.defaultRequestHeaders()} annotation. * * @param name The HTTP header name. * @param value The HTTP header value. @@ -658,9 +679,11 @@ public class RestConfig implements ServletConfig { * Adds class-level default HTTP request headers to this resource. * <p> * Default request headers are default values for when HTTP requests do not specify a header value. - * For example, you can specify a default value for <code>Accept</code> if a request does not specify that header value. + * For example, you can specify a default value for <code>Accept</code> if a request does not specify that header + * value. * <p> - * This is the programmatic equivalent to the {@link RestResource#defaultRequestHeaders() @RestResource.defaultRequestHeaders()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#defaultRequestHeaders() @RestResource.defaultRequestHeaders()} annotation. * * @param headers HTTP headers of the form <js>"Name: Value"</js>. * @return This object (for method chaining). @@ -680,11 +703,13 @@ public class RestConfig implements ServletConfig { * Adds class-level default HTTP response headers to this resource. * <p> * Default response headers are headers that will be appended to all responses if those headers have not already been - * set on the response object. + * set on the response object. * <p> - * This is the programmatic equivalent to the {@link RestResource#defaultResponseHeaders() @RestResource.defaultResponseHeaders()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#defaultResponseHeaders() @RestResource.defaultResponseHeaders()} annotation. * <p> - * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the annotation. + * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the + * annotation. * * @param name The HTTP header name. * @param value The HTTP header value. @@ -699,9 +724,10 @@ public class RestConfig implements ServletConfig { * Adds class-level default HTTP response headers to this resource. * <p> * Default response headers are headers that will be appended to all responses if those headers have not already been - * set on the response object. + * set on the response object. * <p> - * This is the programmatic equivalent to the {@link RestResource#defaultResponseHeaders() @RestResource.defaultResponseHeaders()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#defaultResponseHeaders() @RestResource.defaultResponseHeaders()} annotation. * * @param headers HTTP headers of the form <js>"Name: Value"</js>. * @return This object (for method chaining). @@ -723,7 +749,7 @@ public class RestConfig implements ServletConfig { * Response handlers are responsible for converting various POJOs returned by REST methods into actual HTTP responses. * <p> * By default, this config includes the following response handlers: - * <ul class='spaced-list'> + * <ul> * <li>{@link StreamableHandler} * <li>{@link WritableHandler} * <li>{@link ReaderHandler} @@ -732,7 +758,8 @@ public class RestConfig implements ServletConfig { * <li>{@link DefaultHandler} * </ul> * <p> - * This is the programmatic equivalent to the {@link RestResource#responseHandlers() @RestResource.responseHandlers()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#responseHandlers() @RestResource.responseHandlers()} annotation. * * @param responseHandlers The response handlers to add to this config. * @return This object (for method chaining). @@ -880,7 +907,8 @@ public class RestConfig implements ServletConfig { * <li>{@link CharSequence} * <li><code><jk>byte</jk>[]</code> * </ul> - * The contents of all these stylesheets will be aggregated into a single page in the order they are specified in this list. + * The contents of all these stylesheets will be aggregated into a single page in the order they are specified in + * this list. * * @param styleSheets The new list of style sheets that make up the <code>styles.css</code> page. * @return This object (for method chaining). @@ -983,12 +1011,14 @@ public class RestConfig implements ServletConfig { * <p> * Use this method to specify resources located in the classpath to be served up as static files. * <p> - * This is the programmatic equivalent to the {@link RestResource#staticFiles() @RestResource.staticFiles()} annotation. + * This is the programmatic equivalent to the {@link RestResource#staticFiles() @RestResource.staticFiles()} + * annotation. * * @param resourceClass The resource class used to resolve the resource streams. * @param staticFilesString A JSON string denoting a map of child URLs to classpath subdirectories. * For example, if this string is <js>"{htdocs:'docs'}"</js> with class <code>com.foo.MyResource</code>, - * then URLs of the form <js>"/resource-path/htdocs/..."</js> will resolve to files located in the <code>com.foo.docs</code> package. + * then URLs of the form <js>"/resource-path/htdocs/..."</js> will resolve to files located in the + * <code>com.foo.docs</code> package. * @return This object (for method chaining). */ public RestConfig addStaticFiles(Class<?> resourceClass, String staticFilesString) { @@ -1001,10 +1031,12 @@ public class RestConfig implements ServletConfig { /** * Overrides the default REST resource resolver. * <p> - * The resource resolver is used to resolve instances from {@link Class} objects defined in the {@link RestResource#children()} annotation. + * The resource resolver is used to resolve instances from {@link Class} objects defined in the + * {@link RestResource#children()} annotation. * The default value is the base class {@link RestResourceResolver}. * <p> - * This is the programmatic equivalent to the {@link RestResource#resourceResolver() @RestResource.resourceResolver()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#resourceResolver() @RestResource.resourceResolver()} annotation. * * @param resourceResolver The new resource resolver. * @return This object (for method chaining). @@ -1045,7 +1077,8 @@ public class RestConfig implements ServletConfig { /** * Sets name of the header used to denote the client version on HTTP requests. * <p> - * This is the programmatic equivalent to the {@link RestResource#clientVersionHeader() @RestResource.clientVersionHeader()} annotation. + * This is the programmatic equivalent to the + * {@link RestResource#clientVersionHeader() @RestResource.clientVersionHeader()} annotation. * * @param clientVersionHeader The name of the HTTP header that denotes the client version. * @return This object (for method chaining). @@ -1061,7 +1094,7 @@ public class RestConfig implements ServletConfig { * The format of this value is plain text. * <p> * It gets wrapped in a <code><xt><h3> <xa>class</xa>=<xs>'title'</xs>></xt></code> element and then added - * to the <code><xt><header></code> section on the page. + * to the <code><xt><header></code> section on the page. * <p> * If not specified, the page title is pulled from one of the following locations: * <ol> @@ -1100,7 +1133,7 @@ public class RestConfig implements ServletConfig { * The format of this value is plain text. * <p> * It gets wrapped in a <code><xt><h5> <xa>class</xa>=<xs>'description'</xs>></xt></code> element and then - * added to the <code><xt><header></code> section on the page. + * added to the <code><xt><header></code> section on the page. * <p> * If not specified, the page title is pulled from one of the following locations: * <ol> @@ -1162,9 +1195,10 @@ public class RestConfig implements ServletConfig { * The format of this value is HTML. * <p> * The page header normally contains the title and description, but this value can be used to override the contents - * to be whatever you want. + * to be whatever you want. * <p> - * When a value is specified, the {@link #setHtmlTitle(String)} and {@link #setHtmlDescription(String)} values will be ignored. + * When a value is specified, the {@link #setHtmlTitle(String)} and {@link #setHtmlDescription(String)} values will + * be ignored. * <p> * A value of <js>"NONE"</js> can be used to force no header. * <p> @@ -1184,7 +1218,7 @@ public class RestConfig implements ServletConfig { * Sets the links in the HTML nav section. * <p> * The format of this value is a lax-JSON map of key/value pairs where the keys are the link text and the values are - * relative (to the servlet) or absolute URLs. + * relative (to the servlet) or absolute URLs. * <p> * The page links are positioned immediately under the title and text. * <p> @@ -1300,7 +1334,7 @@ public class RestConfig implements ServletConfig { * The format of this value is CSS. * <p> * This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>) and can use URL protocols defined - * by {@link UriResolver}. + * by {@link UriResolver}. * <p> * This is the programmatic equivalent to the {@link HtmlDoc#cssUrl() @HtmlDoc.cssUrl()} annotation. * @@ -1328,7 +1362,8 @@ public class RestConfig implements ServletConfig { /** * Specifies the text to display when serializing an empty array or collection. * <p> - * This is the programmatic equivalent to the {@link HtmlDoc#noResultsMessage() @HtmlDoc.noResultsMessage()} annotation. + * This is the programmatic equivalent to the {@link HtmlDoc#noResultsMessage() @HtmlDoc.noResultsMessage()} + * annotation. * * @param value The text to display when serializing an empty array or collection. * @return This object (for method chaining). @@ -1358,9 +1393,8 @@ public class RestConfig implements ServletConfig { /** * Specifies the template class to use for rendering the HTML page. * <p> - * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide - * your own custom renderer or subclasses from the basic class to have full control over how the page is - * rendered. + * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom + * renderer or subclasses from the basic class to have full control over how the page is rendered. * <p> * This is the programmatic equivalent to the {@link HtmlDoc#template() @HtmlDoc.template()} annotation. * @@ -1374,7 +1408,7 @@ public class RestConfig implements ServletConfig { /** * Defines widgets that can be used in conjunction with string variables of the form <js>"$W{name}"</js>to quickly - * generate arbitrary replacement text. + * generate arbitrary replacement text. * <p> * Widgets are inherited from parent to child, but can be overridden by reusing the widget name. * @@ -1419,7 +1453,8 @@ public class RestConfig implements ServletConfig { * The call handler is the object that handles execution of REST HTTP calls. * Subclasses can be created that customize the behavior of how REST calls are handled. * <p> - * This is the programmatic equivalent to the {@link RestResource#callHandler() @RestResource.callHandler()} annotation. + * This is the programmatic equivalent to the {@link RestResource#callHandler() @RestResource.callHandler()} + * annotation. * * @param restHandler The new call handler for this resource. * @return This object (for method chaining). @@ -1435,7 +1470,8 @@ public class RestConfig implements ServletConfig { * The call handler is the object that handles execution of REST HTTP calls. * Subclasses can be created that customize the behavior of how REST calls are handled. * <p> - * This is the programmatic equivalent to the {@link RestResource#callHandler() @RestResource.callHandler()} annotation. + * This is the programmatic equivalent to the {@link RestResource#callHandler() @RestResource.callHandler()} + * annotation. * * @param restHandler The new call handler for this resource. * @return This object (for method chaining). @@ -1451,7 +1487,8 @@ public class RestConfig implements ServletConfig { * The info provider provides all the various information about a resource such as the Swagger documentation. * Subclasses can be created that customize the information. * <p> - * This is the programmatic equivalent to the {@link RestResource#infoProvider() @RestResource.infoProvider()} annotation. + * This is the programmatic equivalent to the {@link RestResource#infoProvider() @RestResource.infoProvider()} + * annotation. * * @param infoProvider The new info provider for this resource. * @return This object (for method chaining). @@ -1467,7 +1504,8 @@ public class RestConfig implements ServletConfig { * The info provider provides all the various information about a resource such as the Swagger documentation. * Subclasses can be created that customize the information. * <p> - * This is the programmatic equivalent to the {@link RestResource#infoProvider() @RestResource.infoProvider()} annotation. + * This is the programmatic equivalent to the {@link RestResource#infoProvider() @RestResource.infoProvider()} + * annotation. * * @param infoProvider The new info provider for this resource. * @return This object (for method chaining). @@ -1479,6 +1517,7 @@ public class RestConfig implements ServletConfig { /** * Creates a new {@link PropertyStore} object initialized with the properties defined in this config. + * * @return A new property store. */ protected PropertyStore createPropertyStore() { @@ -1493,7 +1532,8 @@ public class RestConfig implements ServletConfig { /** * Returns the external configuration file for this resource. * <p> - * The configuration file location is determined via the {@link RestResource#config() @RestResource.config()} annotation on the resource. + * The configuration file location is determined via the {@link RestResource#config() @RestResource.config()} + * annotation on the resource. * <p> * The config file can be programmatically overridden by adding the following method to your resource: * <p class='bcode'> @@ -1539,7 +1579,8 @@ public class RestConfig implements ServletConfig { * <li>{@link SwitchVar} * </ul> * <p> - * Note that the variables supported here are only a subset of those returned by {@link RestRequest#getVarResolverSession()}. + * Note that the variables supported here are only a subset of those returned by + * {@link RestRequest#getVarResolverSession()}. * * @return The variable resolver for this resource. Never <jk>null</jk>. */
