You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/07/21 21:19:09 UTC
[juneau] branch master updated: Javadocs (mostly).
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new a5eac7b Javadocs (mostly).
a5eac7b is described below
commit a5eac7b556ac7a71e772ece75dfd3593859edae1
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Tue Jul 21 17:19:00 2020 -0400
Javadocs (mostly).
---
.../apache/juneau/dto/swagger/ui/SwaggerUI.java | 2 +-
.../juneau/cp/BasicClasspathResourceFinder.java | 65 -----
...esourceFinder.java => BasicResourceFinder.java} | 81 +++++-
.../apache/juneau/{utils => cp}/MessageBundle.java | 2 +-
...rceFinder.java => RecursiveResourceFinder.java} | 25 +-
...pathResourceFinder.java => ResourceFinder.java} | 10 +-
...thResourceManager.java => ResourceManager.java} | 12 +-
...sourceFinder.java => SimpleResourceFinder.java} | 25 +-
.../main/java/org/apache/juneau/cp/package.html | 60 +++++
.../apache/juneau/internal/ReaderInputStream.java | 4 +-
.../juneau/utils/ClasspathResourceFinder.java | 2 +-
.../juneau/utils/ClasspathResourceFinderBasic.java | 2 +-
.../utils/ClasspathResourceFinderRecursive.java | 2 +-
.../utils/ClasspathResourceFinderSimple.java | 2 +-
.../juneau/utils/ClasspathResourceManager.java | 2 +-
.../org/apache/juneau/utils/MessageBundle.java | 2 +
juneau-doc/docs/ReleaseNotes/7.1.0.html | 4 +-
.../06.RestMethod/02.RestRequest.html | 1 -
.../06.RestMethod/12.ReaderResource.html | 4 +-
.../06.RestMethod/13.StreamResource.html | 4 +-
.../10.HttpPartAnnotations/08.Request.html | 2 +-
.../10.HttpPartAnnotations/09.Response.html | 2 +-
.../06.juneau-rest-server/24.SvlVariables.html | 2 +-
juneau-doc/docs/Topics/09.juneau-rest-client.html | 2 +-
.../09.juneau-rest-client/02.RequestHeaders.html | 8 +-
.../03.RequestQueryParameters.html | 2 -
.../09.juneau-rest-client/04.RequestFormData.html | 2 -
.../09.juneau-rest-client/05.RequestBody.html | 7 -
.../09.juneau-rest-client/07.ResponseHeaders.html | 6 +-
.../11.RestProxies/01.Remote.html | 2 +-
.../11.RestProxies/03.Body.html | 8 +-
.../11.RestProxies/04.FormData.html | 43 ++--
.../11.RestProxies/05.Query.html | 43 ++--
.../11.RestProxies/06.Header.html | 41 +--
.../11.RestProxies/07.Path.html | 29 +--
.../11.RestProxies/08.Request.html | 2 +-
.../11.RestProxies/09.Response.html | 2 +-
.../11.RestProxies/10.DualPurposeInterfaces.html | 3 +-
.../10.juneau-rest-mock/01.MockRestClient.html | 42 ++--
juneau-doc/src/main/javadoc/overview.html | 278 ++++++++++-----------
juneau-doc/src/main/javadoc/resources/docs.txt | 4 +-
.../src/main/javadoc/resources/fragments/toc.html | 14 +-
.../apache/juneau/microservice/Microservice.java | 1 +
.../juneau/microservice/console/ConfigCommand.java | 6 +-
.../juneau/microservice/console/ExitCommand.java | 2 +-
.../juneau/microservice/console/HelpCommand.java | 2 +-
.../microservice/console/RestartCommand.java | 2 +-
.../microservice/jetty/JettyMicroservice.java | 2 +-
.../client2/RestClient_Response_Headers_Test.java | 2 +-
.../org/apache/juneau/rest/client2/RestClient.java | 2 +-
.../juneau/rest/client2/RestResponseHeader.java | 2 +-
.../juneau/rest/BasicRestInfoProviderTest.java | 2 +-
.../org/apache/juneau/rest/RestParamsTest.java | 2 +-
.../java/org/apache/juneau/rest/BasicRest.java | 8 +-
.../java/org/apache/juneau/rest/RestContext.java | 27 +-
.../org/apache/juneau/rest/RestContextBuilder.java | 12 +-
.../org/apache/juneau/rest/RestMethodParam.java | 2 +-
.../org/apache/juneau/rest/RestParamDefaults.java | 2 +-
.../java/org/apache/juneau/rest/RestRequest.java | 2 +
.../java/org/apache/juneau/rest/RestServlet.java | 6 +-
.../org/apache/juneau/rest/StaticFileMapping.java | 2 +-
.../java/org/apache/juneau/rest/StaticFiles.java | 4 +-
.../org/apache/juneau/rest/SwaggerGenerator.java | 2 +-
.../apache/juneau/rest/annotation/HookEvent.java | 2 +-
.../org/apache/juneau/rest/annotation/Rest.java | 10 +-
.../juneau/rest/annotation/RestConfigApply.java | 2 +-
.../java/org/apache/juneau/rest/vars/FileVar.java | 6 +-
.../java/org/apache/juneau/rest/widget/Widget.java | 2 +-
68 files changed, 500 insertions(+), 469 deletions(-)
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
index 10517f0..c5ab2ee 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
@@ -70,7 +70,7 @@ public class SwaggerUI extends PojoSwap<Swagger,Div> {
public static final String SWAGGERUI_resolveRefsMaxDepth = PREFIX + "resolveRefsMaxDepth.i";
- static final ClasspathResourceManager RESOURCES = new ClasspathResourceManager(SwaggerUI.class, BasicClasspathResourceFinder.INSTANCE, Boolean.getBoolean("RestContext.useClasspathResourceCaching.b"));
+ static final ResourceManager RESOURCES = new ResourceManager(SwaggerUI.class, BasicResourceFinder.INSTANCE, Boolean.getBoolean("RestContext.useClasspathResourceCaching.b"));
private static final Set<String> STANDARD_METHODS = ASet.of("get", "put", "post", "delete", "options");
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.java
deleted file mode 100644
index b9fba13..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.java
+++ /dev/null
@@ -1,65 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.cp;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Utility class for finding resources for a class.
- *
- * <p>
- * Same as {@link SimpleClasspathResourceFinder}, but first searches the working directory for the file before
- * looking in the classpath.
- * <br>Path traversals outside the working directory are not allowed for security reasons.
- */
-public class BasicClasspathResourceFinder extends SimpleClasspathResourceFinder {
-
- /**
- * Reusable instance.
- */
- public static final BasicClasspathResourceFinder INSTANCE = new BasicClasspathResourceFinder();
-
- @Override /* ClasspathResourceFinder */
- public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
- InputStream is = findFileSystemResource(name, locale);
- if (is != null)
- return is;
- return findClasspathResource(baseClass, name, locale);
- }
-
- /**
- * Workhorse method for retrieving a resource from the file system.
- *
- * <p>
- * This method can be overridden by subclasses to provide customized handling of resource retrieval from file systems.
- *
- * @param name The resource name.
- * @param locale
- * The resource locale.
- * <br>Can be <jk>null</jk>.
- * @return The resource stream, or <jk>null</jk> if it couldn't be found.
- * @throws IOException Thrown by underlying stream.
- */
- protected InputStream findFileSystemResource(String name, Locale locale) throws IOException {
- if (name.indexOf("..") == -1) {
- for (String n2 : getCandidateFileNames(name, locale)) {
- File f = new File(n2);
- if (f.exists() && f.canRead() && ! f.isAbsolute()) {
- return new FileInputStream(f);
- }
- }
- }
- return null;
- }
-}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicResourceFinder.java
similarity index 69%
rename from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicResourceFinder.java
index f0f402c..e21be54 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicResourceFinder.java
@@ -22,9 +22,6 @@ import java.util.ResourceBundle.*;
* Utility class for finding resources for a class.
*
* <p>
- * Same as {@link Class#getResourceAsStream(String)} except looks for resources with localized file names.
- *
- * <p>
* If the <c>locale</c> is specified, then we look for resources whose name matches that locale.
* For example, if looking for the resource <js>"MyResource.txt"</js> for the Japanese locale, we will look for
* files in the following order:
@@ -33,21 +30,58 @@ import java.util.ResourceBundle.*;
* <li><js>"MyResource_ja.txt"</js>
* <li><js>"MyResource.txt"</js>
* </ol>
+ *
+ * <p>
+ * The default behavior first searches the working filesystem directory for matching files.
+ * <br>Path traversals outside the working directory are not allowed for security reasons.
+ *
+ * <p>
+ * Support is provided for recursively searching for files up the class hierarchy chain.
*/
-public class SimpleClasspathResourceFinder implements ClasspathResourceFinder {
+public class BasicResourceFinder implements ResourceFinder {
/**
* Reusable instance.
*/
- public static final SimpleClasspathResourceFinder INSTANCE = new SimpleClasspathResourceFinder();
+ public static final BasicResourceFinder INSTANCE = new BasicResourceFinder();
private static final ResourceBundle.Control RB_CONTROL = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);
private static final List<Locale> ROOT_LOCALE = Arrays.asList(Locale.ROOT);
+ private final boolean includeFileSystem, recursive;
+
+ /**
+ * Constructor.
+ *
+ * <p>
+ * Same as calling <c>new BasicClasspathResourceFinder(<jk>true</jk>, <jk>false</jk>.
+ */
+ public BasicResourceFinder() {
+ this(true, false);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param includeFileSystem Search the working filesystem directory for matching resources first. The default is <jk>true</jk>.
+ * @param recursive Recursively search up the parent class hierarchy for resources.
+ */
+ public BasicResourceFinder(boolean includeFileSystem, boolean recursive) {
+ this.includeFileSystem = includeFileSystem;
+ this.recursive = recursive;
+ }
+ @SuppressWarnings("resource")
@Override /* ClasspathResourceFinder */
public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
- return findClasspathResource(baseClass, name, locale);
+ InputStream is = null;
+ if (includeFileSystem)
+ is = findFileSystemResource(name, locale);
+ while (is == null && baseClass != null) {
+ is = findClasspathResource(baseClass, name, locale);
+ baseClass = recursive ? baseClass.getSuperclass() : null;
+ }
+ return is;
}
/**
@@ -67,21 +101,42 @@ public class SimpleClasspathResourceFinder implements ClasspathResourceFinder {
protected InputStream findClasspathResource(Class<?> baseClass, String name, Locale locale) throws IOException {
if (locale == null)
- return getResourceAsStream(baseClass, name);
+ return baseClass.getResourceAsStream(name);
for (String n : getCandidateFileNames(name, locale)) {
- InputStream is = getResourceAsStream(baseClass, n);
+ InputStream is = baseClass.getResourceAsStream(n);
if (is != null)
return is;
}
return null;
}
- private InputStream getResourceAsStream(Class<?> baseClass, String name) {
- return baseClass.getResourceAsStream(name);
+ /**
+ * Workhorse method for retrieving a resource from the file system.
+ *
+ * <p>
+ * This method can be overridden by subclasses to provide customized handling of resource retrieval from file systems.
+ *
+ * @param name The resource name.
+ * @param locale
+ * The resource locale.
+ * <br>Can be <jk>null</jk>.
+ * @return The resource stream, or <jk>null</jk> if it couldn't be found.
+ * @throws IOException Thrown by underlying stream.
+ */
+ protected InputStream findFileSystemResource(String name, Locale locale) throws IOException {
+ if (name.indexOf("..") == -1) {
+ for (String n2 : getCandidateFileNames(name, locale)) {
+ File f = new File(n2);
+ if (f.exists() && f.canRead() && ! f.isAbsolute()) {
+ return new FileInputStream(f);
+ }
+ }
+ }
+ return null;
}
- /**
+ /*
* Returns the candidate file names for the specified file name in the specified locale.
*
* <p>
@@ -102,7 +157,7 @@ public class SimpleClasspathResourceFinder implements ClasspathResourceFinder {
* <br>If <jk>null</jk>, won't look for localized file names.
* @return An iterator of file names to look at.
*/
- protected static Iterable<String> getCandidateFileNames(final String fileName, final Locale l) {
+ Iterable<String> getCandidateFileNames(final String fileName, final Locale l) {
return new Iterable<String>() {
@Override
public Iterator<String> iterator() {
@@ -135,7 +190,7 @@ public class SimpleClasspathResourceFinder implements ClasspathResourceFinder {
};
}
- /**
+ /*
* Returns the candidate locales for the specified locale.
*
* <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/MessageBundle.java
similarity index 97%
copy from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java
copy to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/MessageBundle.java
index 187ebc2..f755185 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/MessageBundle.java
@@ -10,7 +10,7 @@
// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
// * specific language governing permissions and limitations under the License. *
// ***************************************************************************************************************************
-package org.apache.juneau.utils;
+package org.apache.juneau.cp;
import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.internal.ThrowableUtils.*;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveResourceFinder.java
similarity index 69%
copy from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
copy to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveResourceFinder.java
index 52a3e34..77948e4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveResourceFinder.java
@@ -12,27 +12,22 @@
// ***************************************************************************************************************************
package org.apache.juneau.cp;
-import java.io.*;
-import java.util.*;
-
/**
- * Same as {@link BasicClasspathResourceFinder} but searches for resources up the parent class hierarchy chain.
+ * Utility class for finding resources for a class.
+ *
+ * Same as {@link BasicResourceFinder} but searches for resources up the parent class hierarchy chain.
*/
-public class RecursiveClasspathResourceFinder extends BasicClasspathResourceFinder {
+public class RecursiveResourceFinder extends BasicResourceFinder {
/**
* Reusable instance.
*/
- public static final RecursiveClasspathResourceFinder INSTANCE = new RecursiveClasspathResourceFinder();
+ public static final RecursiveResourceFinder INSTANCE = new RecursiveResourceFinder();
- @Override /* ResourceFinder2 */
- public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
- while (baseClass != null) {
- InputStream is = findClasspathResource(baseClass, name, locale);
- if (is != null)
- return is;
- baseClass = baseClass.getSuperclass();
- }
- return findFileSystemResource(name, locale);
+ /**
+ * Constructor.
+ */
+ public RecursiveResourceFinder() {
+ super(true, true);
}
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceFinder.java
similarity index 87%
rename from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceFinder.java
index 70d747d..2749250 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceFinder.java
@@ -25,19 +25,19 @@ import java.util.*;
* <p>
* The following predefined implementations are provided:
* <ul>
- * <li>{@link SimpleClasspathResourceFinder} - Simple searching of classpath.
- * <li>{@link BasicClasspathResourceFinder} - Same as above, but looks in local JVM working directory if resource
+ * <li>{@link SimpleResourceFinder} - Simple searching of classpath.
+ * <li>{@link BasicResourceFinder} - Same as above, but looks in local JVM working directory if resource
* can't be found on classpath.
- * <li>{@link RecursiveClasspathResourceFinder} - Same as above, except if the resource can't be found on the
+ * <li>{@link RecursiveResourceFinder} - Same as above, except if the resource can't be found on the
* classpath relative to the base class, recursively searches up the parent class hierarchy.
* </ul>
*/
-public interface ClasspathResourceFinder {
+public interface ResourceFinder {
/**
* Represents "no" classpath resource finder.
*/
- public static final class Null implements ClasspathResourceFinder {
+ public static final class Null implements ResourceFinder {
@Override
public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
throw new NoSuchMethodError();
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceManager.java
similarity index 96%
rename from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceManager.java
index 1c38674..6506cd3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ResourceManager.java
@@ -25,14 +25,14 @@ import org.apache.juneau.parser.*;
/**
* Class for retrieving and caching resource files from the classpath.
*/
-public final class ClasspathResourceManager {
+public final class ResourceManager {
// Maps resource names+locales to found resources.
private final ConcurrentHashMap<ResourceKey,byte[]> byteCache;
private final ConcurrentHashMap<ResourceKey,String> stringCache;
private final Class<?> baseClass;
- private final ClasspathResourceFinder resourceFinder;
+ private final ResourceFinder resourceFinder;
private final boolean useCache;
/**
@@ -42,7 +42,7 @@ public final class ClasspathResourceManager {
* @param resourceFinder The resource finder implementation.
* @param useCache If <jk>true</jk>, retrieved resources are stored in an in-memory cache for fast lookup.
*/
- public ClasspathResourceManager(Class<?> baseClass, ClasspathResourceFinder resourceFinder, boolean useCache) {
+ public ResourceManager(Class<?> baseClass, ResourceFinder resourceFinder, boolean useCache) {
this.baseClass = baseClass;
this.resourceFinder = resourceFinder;
this.useCache = useCache;
@@ -59,12 +59,12 @@ public final class ClasspathResourceManager {
* Constructor.
*
* <p>
- * Uses default {@link BasicClasspathResourceFinder} for finding resources.
+ * Uses default {@link BasicResourceFinder} for finding resources.
*
* @param baseClass The default class to use for retrieving resources from the classpath.
*/
- public ClasspathResourceManager(Class<?> baseClass) {
- this(baseClass, new BasicClasspathResourceFinder(), false);
+ public ResourceManager(Class<?> baseClass) {
+ this(baseClass, new BasicResourceFinder(), false);
}
/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleResourceFinder.java
similarity index 69%
rename from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleResourceFinder.java
index 52a3e34..8c426f3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleResourceFinder.java
@@ -12,27 +12,22 @@
// ***************************************************************************************************************************
package org.apache.juneau.cp;
-import java.io.*;
-import java.util.*;
-
/**
- * Same as {@link BasicClasspathResourceFinder} but searches for resources up the parent class hierarchy chain.
+ * Utility class for finding resources for a class.
+ *
+ * Same as {@link BasicResourceFinder} but doesn't search the file system for files.
*/
-public class RecursiveClasspathResourceFinder extends BasicClasspathResourceFinder {
+public class SimpleResourceFinder extends BasicResourceFinder {
/**
* Reusable instance.
*/
- public static final RecursiveClasspathResourceFinder INSTANCE = new RecursiveClasspathResourceFinder();
+ public static final SimpleResourceFinder INSTANCE = new SimpleResourceFinder();
- @Override /* ResourceFinder2 */
- public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
- while (baseClass != null) {
- InputStream is = findClasspathResource(baseClass, name, locale);
- if (is != null)
- return is;
- baseClass = baseClass.getSuperclass();
- }
- return findFileSystemResource(name, locale);
+ /**
+ * Constructor.
+ */
+ public SimpleResourceFinder() {
+ super(false, false);
}
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/package.html b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/package.html
new file mode 100644
index 0000000..3e71d57
--- /dev/null
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/package.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ *
+ ***************************************************************************************************************************/
+ -->
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ /* For viewing in Page Designer */
+ @IMPORT url("../../../../../javadoc.css");
+
+ /* For viewing in REST interface */
+ @IMPORT url("../htdocs/javadoc.css");
+ body {
+ margin: 20px;
+ }
+ </style>
+ <script>
+ /* Replace all @code and @link tags. */
+ window.onload = function() {
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
+ }
+ </script>
+</head>
+<body>
+<p>Classpath Utilities</p>
+
+<script>
+ function toggle(x) {
+ var div = x.nextSibling;
+ while (div != null && div.nodeType != 1)
+ div = div.nextSibling;
+ if (div != null) {
+ var d = div.style.display;
+ if (d == 'block' || d == '') {
+ div.style.display = 'none';
+ x.className += " closed";
+ } else {
+ div.style.display = 'block';
+ x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
+ }
+ }
+ }
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ReaderInputStream.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ReaderInputStream.java
index 8f597b6..7aa1453 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ReaderInputStream.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ReaderInputStream.java
@@ -140,7 +140,7 @@ public class ReaderInputStream extends InputStream {
/**
* Construct a new {@link ReaderInputStream} with a default input buffer size of
- * {@value 1024} characters.
+ * <c>1024</c> characters.
*
* @param reader the target {@link Reader}
* @param charset the charset encoding
@@ -162,7 +162,7 @@ public class ReaderInputStream extends InputStream {
/**
* Construct a new {@link ReaderInputStream} with a default input buffer size of
- * {@value 1024} characters.
+ * <c>1024</c> characters.
*
* @param reader the target {@link Reader}
* @param charsetName the name of the charset encoding
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
index 200d782..6be7ea6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
@@ -32,7 +32,7 @@ import java.util.*;
* classpath relative to the base class, recursively searches up the parent class hierarchy.
* </ul>
*
- * @deprecated Use {@link org.apache.juneau.cp.ClasspathResourceFinder}.
+ * @deprecated Use {@link org.apache.juneau.cp.ResourceFinder}.
*/
@Deprecated
public interface ClasspathResourceFinder {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
index 75c7ccd..d5027c0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
@@ -25,7 +25,7 @@ import org.apache.juneau.cp.*;
* looking in the classpath.
* <br>Path traversals outside the working directory are not allowed for security reasons.
*
- * @deprecated Use {@link SimpleClasspathResourceFinder}.
+ * @deprecated Use {@link SimpleResourceFinder}.
*/
@Deprecated
public class ClasspathResourceFinderBasic extends ClasspathResourceFinderSimple {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
index 4d2fde3..d4f4f73 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
@@ -20,7 +20,7 @@ import org.apache.juneau.cp.*;
/**
* Same as {@link ClasspathResourceFinderBasic} but searches for resources up the parent class hierarchy chain.
*
- * @deprecated Use {@link BasicClasspathResourceFinder}.
+ * @deprecated Use {@link BasicResourceFinder}.
*/
@Deprecated
public class ClasspathResourceFinderRecursive extends ClasspathResourceFinderBasic {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
index 696eccf..b028adf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
@@ -36,7 +36,7 @@ import org.apache.juneau.cp.*;
* <li><js>"MyResource.txt"</js>
* </ol>
*
- * @deprecated Use {@link SimpleClasspathResourceFinder}.
+ * @deprecated Use {@link SimpleResourceFinder}.
*/
@Deprecated
public class ClasspathResourceFinderSimple implements ClasspathResourceFinder {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
index 3356576..0b6f654 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
@@ -23,7 +23,7 @@ import org.apache.juneau.internal.*;
/**
* Class for retrieving and caching resource files from the classpath.
*
- * @deprecated Use {@link org.apache.juneau.cp.ClasspathResourceManager}.
+ * @deprecated Use {@link org.apache.juneau.cp.ResourceManager}.
*/
@Deprecated
public final class ClasspathResourceManager {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java
index 187ebc2..ea77882 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/MessageBundle.java
@@ -51,7 +51,9 @@ import org.apache.juneau.collections.*;
* <li>
* This class is thread-safe.
* </ul>
+ * @deprecated Use {@link org.apache.juneau.cp.MessageBundle}.
*/
+@Deprecated
public class MessageBundle extends ResourceBundle {
private static final ThreadLocal<Locale> clientLocale = new ThreadLocal<>();
diff --git a/juneau-doc/docs/ReleaseNotes/7.1.0.html b/juneau-doc/docs/ReleaseNotes/7.1.0.html
index 05aa6ad..90c90ed 100644
--- a/juneau-doc/docs/ReleaseNotes/7.1.0.html
+++ b/juneau-doc/docs/ReleaseNotes/7.1.0.html
@@ -353,9 +353,9 @@
<li><c>getReaderResource(String,boolean,MediaType)</c> renamed to
<dc>getClasspathReaderResource(String,boolean,MediaType)</dc>
<li><c>getReaderResource(String,boolean)</c> renamed to
- {@link oajr.RestRequest#getClasspathReaderResource(String,boolean) getClasspathReaderResource(String,boolean)}
+ {@link oajr.RestRequest#getClasspathHttpResource(String,boolean) getClasspathHttpResource(String,boolean)}
<li><c>getReaderResource(String)</c> renamed to
- {@link oajr.RestRequest#getClasspathReaderResource(String) getClasspathReaderResource(String)}
+ {@link oajr.RestRequest#getClasspathHttpResource(String) getClasspathHttpResource(String)}
</ul>
<li>
Changes to <dc>@RestResource</dc>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html
index 8540f41..050e578 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html
@@ -42,6 +42,5 @@ RestRequest
<li class='jm'>{@link oajr.RestRequest#getVarResolverSession() getVarResolverSession()} - String variable resolver.
<li class='jm'>{@link oajr.RestRequest#getMessageBundle() getMessageBundle()} - Localized messages.
<li class='jm'>{@link oajr.RestRequest#getProperties() getProperties()} - Configuration properties.
- <li class='jm'>{@link oajr.RestRequest#getClasspathReaderResource(String,boolean,MediaType,boolean) getClasspathReaderResource(String,boolean,MediaType,boolean)} - Various methods for retrieving static files from classpath.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html
index 6ff15dd..e3b71aa 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html
@@ -13,10 +13,10 @@
***************************************************************************************************************************/
-->
-ReaderResource
+ReaderResource (TODO)
<p>
- The {@link oaj.http.ReaderResource} class is a convenience object for defining thread-safe
+ The <dc>ReaderResource</dc> class is a convenience object for defining thread-safe
reusable character-based responses.
In essence, it's a container for character data with optional response headers and support for
resolving SVL variables.
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html
index 5017e24..40e162a 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html
@@ -13,10 +13,10 @@
***************************************************************************************************************************/
-->
-StreamResource
+StreamResource (TODO)
<p>
- The {@link oaj.http.StreamResource} class is the binary equivalent to the {@link oaj.http.ReaderResource} object.
+ The <dc>oaj.http.StreamResource</dc> class is the binary equivalent to the <dc>ReaderResource</dc> object.
In essence, it's a container for binary data with optional response headers.
</p>
<p>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
index 074d00d..38f3da6 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
@@ -22,7 +22,7 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Request}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Request#partParser() partParser} - Override the part parser.
+ <li class='jf'>{@link oaj.http.annotation.Request#parser() parser} - Override the part parser.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
index 075c366..5accd6c 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
@@ -27,7 +27,7 @@
<li class='jf'>{@link oaj.http.annotation.Response#example() example} - Serialized example.
<li class='jf'>{@link oaj.http.annotation.Response#examples() examples} - Serialized examples per media type.
<li class='jf'>{@link oaj.http.annotation.Response#headers() headers} - Swagger about headers added to response.
- <li class='jf'>{@link oaj.http.annotation.Response#partSerializer() partSerializer} - Override the part serializer.
+ <li class='jf'>{@link oaj.http.annotation.Response#serializer() serializer} - Override the part serializer.
<li class='jf'>{@link oaj.http.annotation.Response#schema() schema} - Swagger schema.
<li class='jf'>{@link oaj.http.annotation.Response#value() value} - Free-form Swagger JSON.
</ul>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
index 90f4535..125c57e 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
@@ -76,7 +76,7 @@ SVL Variables
<ul class='javatree'>
<li class='jm'>{@link oajr.RestContext#getVarResolver()}
<li class='jm'>{@link oajr.RestRequest#getVarResolverSession()}
- <li class='jm'>{@link oajr.RestRequest#getClasspathReaderResource(String,boolean)}
+ <li class='jm'>{@link oajr.RestRequest#getClasspathHttpResource(String,boolean)}
</ul>
<p>
There are two distinct groups of variables:
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client.html b/juneau-doc/docs/Topics/09.juneau-rest-client.html
index 9e2ed4a..f81c624 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client.html
@@ -142,7 +142,7 @@ juneau-rest-client
<li class='jm'>{@link oajr.client2.RestClient#options(Object) options(uri)}
<li class='jm'>{@link oajr.client2.RestClient#formPost(Object,Object) formPost(uri,body)} / {@link oajr.client2.RestClient#formPost(Object) formPost(uri)}
<li class='jm'>{@link oajr.client2.RestClient#formPostPairs(Object,Object...) formPostPairs(uri,parameters...)}
- <li class='jm'>{@link oajr.client2.RestClient#request(HttpMethod,Object,Object) request(method,uri,body)}
+ <li class='jm'>{@link oajr.client2.RestClient#request(String,Object,Object) request(method,uri,body)}
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/02.RequestHeaders.html b/juneau-doc/docs/Topics/09.juneau-rest-client/02.RequestHeaders.html
index d2fa26a..5dc2ac1 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/02.RequestHeaders.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/02.RequestHeaders.html
@@ -38,7 +38,7 @@ Request Headers
<li class='jm'>{@link oajr.client2.RestRequest#header(AddFlag,String,Object,HttpPartSchema) header(AddFlag,String,Object,HttpPartSchema)}
<li class='jm'>{@link oajr.client2.RestRequest#header(Header) header(Header)}
<li class='jm'>{@link oajr.client2.RestRequest#headers(Object...) headers(Object...)}
- <li class='jm'>{@link oajr.client2.RestRequest#headers(AddFlag,Object...) headers(AddFlag;Object...)}
+ <li class='jm'>{@link oajr.client2.RestRequest#headers(AddFlag,Object...) headers(AddFlag,Object...)}
<li class='jm'>{@link oajr.client2.RestRequest#headerPairs(Object...) headers(Object...)}
</ul>
</ul>
@@ -121,12 +121,6 @@ Request Headers
replace existing headers with the same name.
</p>
-TODO - Headers with variables.
-
-
-
-
-
<ul class='notes'>
<li>Methods that pass in POJOs convert values to strings using the part serializers. Methods that pass in <c>Header</c> or
<c>NameValuePair</c> objects use the values returned by that bean directly.
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/03.RequestQueryParameters.html b/juneau-doc/docs/Topics/09.juneau-rest-client/03.RequestQueryParameters.html
index b89edad..c72668c 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/03.RequestQueryParameters.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/03.RequestQueryParameters.html
@@ -89,8 +89,6 @@ Request Query Parameters
replace existing query parameters with the same name.
</p>
-TODO - NameValuePairs with variables.
-
<ul class='notes'>
<li>Methods that pass in POJOs convert values to strings using the part serializers. Methods that pass in <c>NameValuePair</c>
objects use the values returned by that bean directly.
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/04.RequestFormData.html b/juneau-doc/docs/Topics/09.juneau-rest-client/04.RequestFormData.html
index 8674297..45aa0f8 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/04.RequestFormData.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/04.RequestFormData.html
@@ -89,8 +89,6 @@ Request Form Data
replace existing form-data parameters with the same name.
</p>
-TODO - NameValuePairs with variables.
-
<ul class='notes'>
<li>Like header values, dynamic values and OpenAPI schemas are supported.
<li>Methods that pass in POJOs convert values to strings using the part serializers. Methods that pass in <c>NameValuePair</c>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/05.RequestBody.html b/juneau-doc/docs/Topics/09.juneau-rest-client/05.RequestBody.html
index 6a5bcdf..3494fed 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/05.RequestBody.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/05.RequestBody.html
@@ -39,10 +39,6 @@ Request Body
<li class='jc'>
{@link java.io.InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.
<li class='jc'>
- {@link oaj.http.ReaderResource}/{@link oaj.http.ReaderResourceBuilder} - Raw contents of {@code Reader} will be serialized to remote resource. Additional headers and media type will be set on request.
- <li class='jc'>
- {@link oaj.http.StreamResource}/{@link oaj.http.StreamResourceBuilder} - Raw contents of {@code InputStream} will be serialized to remote resource. Additional headers and media type will be set on request.
- <li class='jc'>
{@link org.apache.http.HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.
<li class='jc'>
{@link oaj.http.NameValuePairSupplier} - Converted to a URL-encoded FORM post.
@@ -77,9 +73,6 @@ Request Body
.assertStatus().code().is(200);
</p>
-TODO - Bodies with variables.
-
-
<ul class='notes'>
<li>If the serializer on the client or request is explicitly set to <jk>null</jk>, POJOs will be converted to strings
using the registered part serializer as content type <js>"text/plain</js>. If the part serializer is also <jk>null</jk>,
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/07.ResponseHeaders.html b/juneau-doc/docs/Topics/09.juneau-rest-client/07.ResponseHeaders.html
index 939ca8b..48b3995 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/07.ResponseHeaders.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/07.ResponseHeaders.html
@@ -62,14 +62,14 @@ Response Headers
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asOptional(Class) asOptional(Class<T>)} <jk>returns</jk> Optional<T></c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asMatcher(Pattern) asMatcher(Pattern)} <jk>returns</jk> {@link java.util.regex.Matcher}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asMatcher(String) asMatcher(String)} <jk>returns</jk> {@link java.util.regex.Matcher}</c>
- <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asHeader(Class) asHeader(Class<T <jk>extends</jk> BasicHeader> c)} <jk>returns</jk> {@link oaj.http.header.BasicHeader}</c>
+ <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asHeader(Class) asHeader(Class<T <jk>extends</jk> BasicHeader> c)} <jk>returns</jk> {@link oaj.http.BasicHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asStringHeader() asStringHeader()} <jk>returns</jk> {@link oaj.http.header.BasicIntegerHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asIntegerHeader() asIntegerHeader()} <jk>returns</jk> {@link oaj.http.header.BasicStringHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asLongHeader() asLongHeader()} <jk>returns</jk> {@link oaj.http.header.BasicLongHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asDateHeader() asDateHeader()} <jk>returns</jk> {@link oaj.http.header.BasicDateHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asCsvArrayHeader() asCsvArrayHeader()} <jk>returns</jk> {@link oaj.http.header.BasicCsvArrayHeader}</c>
- <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asEntityValidatorArrayHeader() asEntityValidatorArrayHeader()} <jk>returns</jk> {@link oaj.http.header.BasicEntityValidatorArrayHeader}</c>
- <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asRangeArrayHeader() asRangeArrayHeader()} <jk>returns</jk> {@link oaj.http.header.BasicRangeArrayHeader}</c>
+ <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asEntityTagArrayHeader() asEntityTagArrayHeader()} <jk>returns</jk> {@link oaj.http.header.BasicEntityTagArrayHeader}</c>
+ <li class='jm'><c>{@link oajr.client2.RestResponseHeader#asStringRangeArrayHeader() asStringRangeArrayHeader()} <jk>returns</jk> {@link oaj.http.header.BasicStringRangeArrayHeader}</c>
<li class='jm'><c>{@link oajr.client2.RestResponseHeader#asUriHeader() asUriHeader()} <jk>returns</jk> {@link oaj.http.header.BasicUriHeader}</c>
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
index 28c7521..1105866 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
@@ -101,7 +101,7 @@ specific language governing permissions and limitations under the License.
.rootUrl(<js>"http://localhost:10000/petstore"</js>)
.build();
- PetStore <jv>store</jv> = <jv>client<jv>.getRemote(PetStore.<jk>class</jk>);
+ PetStore <jv>store</jv> = <jv>client</jv>.getRemote(PetStore.<jk>class</jk>);
</p>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/03.Body.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/03.Body.html
index baa4b0b..f274f4c 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/03.Body.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/03.Body.html
@@ -13,6 +13,7 @@
***************************************************************************************************************************/
-->
+{8.1.4-updated}
@Body
<p>
@@ -22,7 +23,7 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Body}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Body#required() required} - Input validation. Body must be present.
+ <li class='jf'>{@link oaj.http.annotation.Body#required() required}, {@link oaj.http.annotation.Body#r() r} - Input validation. Body must be present.
<li class='jf'>{@link oaj.http.annotation.Body#schema() schema} - OpenAPI schema.
</ul>
</ul>
@@ -34,7 +35,7 @@
<jk>public interface</jk> PetStore {
<ja>@RemoteMethod</ja>(path=<js>"/pets"</js>)
- String addPet(<ja>@Body</ja> Pet <jv>pet</jv>;
+ String addPet(<ja>@Body</ja> Pet <jv>pet</jv>);
}
</p>
<p class='bpcode w800'>
@@ -98,12 +99,13 @@
</p>
<p class='bpcode w800'>
<jc>// Same as above but using free-form schema.</jc>
+ <jc>// Format is simplified-JSON (outer {} brackets are optional).</jc>
<ja>@RemoteMethod</ja>(path=<js>"/comma-delimited-pipe-delimited-ints"</js>)
String addCommaDelimitedPipeDelimitedInts(
<ja>@Body</ja>(
serializer=OpenApiSerializer.<jk>class</jk>,
schema=<ja>@Schema</ja>(
- <js>"type:'array,collectionFormat:'pipes',items:[type:'array',items:[type:'int32',minimum:0,maximum:64]]"</js>
+ <js>"type:'array',collectionFormat:'pipes',items:[type:'array',items:[type:'int32',minimum:0,maximum:64]]"</js>
)
)
<jk>int</jk>[][] <jv>input</jv>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/04.FormData.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/04.FormData.html
index 9a43d5c..90b3714 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/04.FormData.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/04.FormData.html
@@ -13,6 +13,7 @@
***************************************************************************************************************************/
-->
+{8.1.4-updated}
@FormData
<p>
@@ -22,28 +23,28 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.FormData}
<ul>
- <li class='jf'>{@link oaj.http.annotation.FormData#_default() _default} - Default value if not present.
- <li class='jf'>{@link oaj.http.annotation.FormData#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link oaj.http.annotation.FormData#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link oaj.http.annotation.FormData#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link oaj.http.annotation.FormData#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.FormData#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.FormData#format() format} - The schema type format.
+ <li class='jf'>{@link oaj.http.annotation.FormData#_default() _default}, {@link oaj.http.annotation.FormData#df() df} - Default value if not present.
+ <li class='jf'>{@link oaj.http.annotation.FormData#_enum() _enum}, {@link oaj.http.annotation.FormData#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link oaj.http.annotation.FormData#allowEmptyValue() allowEmptyValue}, {@link oaj.http.annotation.FormData#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link oaj.http.annotation.FormData#collectionFormat() collectionFormat}, {@link oaj.http.annotation.FormData#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link oaj.http.annotation.FormData#exclusiveMaximum() exclusiveMaximum}, {@link oaj.http.annotation.FormData#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.FormData#exclusiveMinimum() exclusiveMinimum}, {@link oaj.http.annotation.FormData#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.FormData#format() format}, {@link oaj.http.annotation.FormData#f() f} - The schema type format.
<li class='jf'>{@link oaj.http.annotation.FormData#items() items} - The schema of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.FormData#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link oaj.http.annotation.FormData#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.FormData#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link oaj.http.annotation.FormData#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link oaj.http.annotation.FormData#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.FormData#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link oaj.http.annotation.FormData#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link oaj.http.annotation.FormData#name() name} - Form data entry name.
- <li class='jf'>{@link oaj.http.annotation.FormData#pattern() pattern}- Input validation. Must match regular expression.
- <li class='jf'>{@link oaj.http.annotation.FormData#required() required}- Input validation. Form data entry must be present.
- <li class='jf'>{@link oaj.http.annotation.FormData#serializer() serializer}- Override the part serializer.
- <li class='jf'>{@link oaj.http.annotation.FormData#skipIfEmpty() skipIfEmpty}- Don't add if value is null or empty.
- <li class='jf'>{@link oaj.http.annotation.FormData#type() type} - The schema type.
- <li class='jf'>{@link oaj.http.annotation.FormData#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link oaj.http.annotation.FormData#maximum() maximum}, {@link oaj.http.annotation.FormData#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.FormData#maxItems() maxItems}, {@link oaj.http.annotation.FormData#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.FormData#maxLength() maxLength}, {@link oaj.http.annotation.FormData#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.FormData#minimum() minimum}, {@link oaj.http.annotation.FormData#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.FormData#minItems() minItems}, {@link oaj.http.annotation.FormData#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.FormData#minLength() minLength}, {@link oaj.http.annotation.FormData#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.FormData#multipleOf() multipleOf}, {@link oaj.http.annotation.FormData#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link oaj.http.annotation.FormData#name() name}, {@link oaj.http.annotation.FormData#n() n} - Form data entry name.
+ <li class='jf'>{@link oaj.http.annotation.FormData#pattern() pattern}, {@link oaj.http.annotation.FormData#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link oaj.http.annotation.FormData#required() required}, {@link oaj.http.annotation.FormData#r() r} - Input validation. Form data entry must be present.
+ <li class='jf'>{@link oaj.http.annotation.FormData#serializer() serializer} - Override the part serializer.
+ <li class='jf'>{@link oaj.http.annotation.FormData#skipIfEmpty() skipIfEmpty}, {@link oaj.http.annotation.FormData#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link oaj.http.annotation.FormData#type() type}, {@link oaj.http.annotation.FormData#t() t} - The schema type.
+ <li class='jf'>{@link oaj.http.annotation.FormData#uniqueItems() uniqueItems}, {@link oaj.http.annotation.FormData#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/05.Query.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/05.Query.html
index 1f4325c..55c0065 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/05.Query.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/05.Query.html
@@ -13,6 +13,7 @@
***************************************************************************************************************************/
-->
+{8.1.4-updated}
@Query
<p>
@@ -22,28 +23,28 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Query}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Query#_default() _default} - Default value if not present.
- <li class='jf'>{@link oaj.http.annotation.Query#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link oaj.http.annotation.Query#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link oaj.http.annotation.Query#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link oaj.http.annotation.Query#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Query#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Query#format() format} - The schema type format.
+ <li class='jf'>{@link oaj.http.annotation.Query#_default() _default}, {@link oaj.http.annotation.Query#df() df} - Default value if not present.
+ <li class='jf'>{@link oaj.http.annotation.Query#_enum() _enum}, {@link oaj.http.annotation.Query#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link oaj.http.annotation.Query#allowEmptyValue() allowEmptyValue}, {@link oaj.http.annotation.Query#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link oaj.http.annotation.Query#collectionFormat() collectionFormat}, {@link oaj.http.annotation.Query#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link oaj.http.annotation.Query#exclusiveMaximum() exclusiveMaximum}, {@link oaj.http.annotation.Query#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Query#exclusiveMinimum() exclusiveMinimum}, {@link oaj.http.annotation.Query#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Query#format() format}, {@link oaj.http.annotation.Query#f() f} - The schema type format.
<li class='jf'>{@link oaj.http.annotation.Query#items() items} - The schema of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Query#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Query#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Query#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Query#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Query#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Query#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Query#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link oaj.http.annotation.Query#name() name} - Query parameter name.
- <li class='jf'>{@link oaj.http.annotation.Query#pattern() pattern} - Input validation. Must match regular expression.
- <li class='jf'>{@link oaj.http.annotation.Query#required() required} - Input validation. Query parameter must be present.
- <li class='jf'>{@link oaj.http.annotation.Query#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link oaj.http.annotation.Query#skipIfEmpty() skipIfEmpty}- Don't add if value is null or empty.
- <li class='jf'>{@link oaj.http.annotation.Query#type() type} - The schema type.
- <li class='jf'>{@link oaj.http.annotation.Query#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link oaj.http.annotation.Query#maximum() maximum}, {@link oaj.http.annotation.Query#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Query#maxItems() maxItems}, {@link oaj.http.annotation.Query#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.Query#maxLength() maxLength}, {@link oaj.http.annotation.Query#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Query#minimum() minimum}, {@link oaj.http.annotation.Query#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Query#minItems() minItems}, {@link oaj.http.annotation.Query#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.Query#minLength() minLength}, {@link oaj.http.annotation.Query#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Query#multipleOf() multipleOf}, {@link oaj.http.annotation.Query#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link oaj.http.annotation.Query#name() name}, {@link oaj.http.annotation.Query#n() n} - Query parameter name.
+ <li class='jf'>{@link oaj.http.annotation.Query#pattern() pattern}, {@link oaj.http.annotation.Query#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link oaj.http.annotation.Query#required() required}, {@link oaj.http.annotation.Query#r() r} - Input validation. Query parameter must be present.
+ <li class='jf'>{@link oaj.http.annotation.Query#serializer() serializer} - Override the part serializer.
+ <li class='jf'>{@link oaj.http.annotation.Query#skipIfEmpty() skipIfEmpty}, {@link oaj.http.annotation.Query#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link oaj.http.annotation.Query#type() type}, {@link oaj.http.annotation.Query#t() t} - The schema type.
+ <li class='jf'>{@link oaj.http.annotation.Query#uniqueItems() uniqueItems}, {@link oaj.http.annotation.Query#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/06.Header.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/06.Header.html
index ea8f6dd..6ffa9a5 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/06.Header.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/06.Header.html
@@ -13,6 +13,7 @@
***************************************************************************************************************************/
-->
+{8.1.4-updated}
@Header
<p>
@@ -22,28 +23,28 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Header}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Header#_default() _default} - Default value if not present.
- <li class='jf'>{@link oaj.http.annotation.Header#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link oaj.http.annotation.Header#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link oaj.http.annotation.Header#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link oaj.http.annotation.Header#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Header#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Header#format() format} - The schema type format.
+ <li class='jf'>{@link oaj.http.annotation.Header#_default() _default}, {@link oaj.http.annotation.Header#df() df} - Default value if not present.
+ <li class='jf'>{@link oaj.http.annotation.Header#_enum() _enum}, {@link oaj.http.annotation.Header#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link oaj.http.annotation.Header#allowEmptyValue() allowEmptyValue}, {@link oaj.http.annotation.Header#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link oaj.http.annotation.Header#collectionFormat() collectionFormat}, {@link oaj.http.annotation.Header#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link oaj.http.annotation.Header#exclusiveMaximum() exclusiveMaximum}, {@link oaj.http.annotation.Header#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Header#exclusiveMinimum() exclusiveMinimum}, {@link oaj.http.annotation.Header#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Header#format() format}, {@link oaj.http.annotation.Header#f() f} - The schema type format.
<li class='jf'>{@link oaj.http.annotation.Header#items() items} - The schema of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Header#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Header#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Header#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Header#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Header#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Header#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Header#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link oaj.http.annotation.Header#name() name} - Header name.
- <li class='jf'>{@link oaj.http.annotation.Header#pattern() pattern} - Input validation. Must match regular expression.
- <li class='jf'>{@link oaj.http.annotation.Header#required() required} - Input validation. Header must be present.
+ <li class='jf'>{@link oaj.http.annotation.Header#maximum() maximum}, {@link oaj.http.annotation.Header#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Header#maxItems() maxItems}, {@link oaj.http.annotation.Header#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.Header#maxLength() maxLength}, {@link oaj.http.annotation.Header#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Header#minimum() minimum}, {@link oaj.http.annotation.Header#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Header#minItems() minItems}, {@link oaj.http.annotation.Header#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link oaj.http.annotation.Header#minLength() minLength}, {@link oaj.http.annotation.Header#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Header#multipleOf() multipleOf}, {@link oaj.http.annotation.Header#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link oaj.http.annotation.Header#name() name}, {@link oaj.http.annotation.Header#n() n} - Header name.
+ <li class='jf'>{@link oaj.http.annotation.Header#pattern() pattern}, {@link oaj.http.annotation.Header#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link oaj.http.annotation.Header#required() required}, {@link oaj.http.annotation.Header#r() r} - Input validation. Header must be present.
<li class='jf'>{@link oaj.http.annotation.Header#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link oaj.http.annotation.Header#skipIfEmpty() skipIfEmpty} - Don't add if value is null or empty.
- <li class='jf'>{@link oaj.http.annotation.Header#type() type} - The schema type.
- <li class='jf'>{@link oaj.http.annotation.Header#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link oaj.http.annotation.Header#skipIfEmpty() skipIfEmpty}, {@link oaj.http.annotation.Header#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link oaj.http.annotation.Header#type() type}, {@link oaj.http.annotation.Header#t() t} - The schema type.
+ <li class='jf'>{@link oaj.http.annotation.Header#uniqueItems() uniqueItems}, {@link oaj.http.annotation.Header#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/07.Path.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/07.Path.html
index 93c1c5f..dfebbb9 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/07.Path.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/07.Path.html
@@ -13,6 +13,7 @@
***************************************************************************************************************************/
-->
+{8.1.4-updated}
@Path
<p>
@@ -22,22 +23,22 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Path}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Path#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link oaj.http.annotation.Path#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link oaj.http.annotation.Path#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link oaj.http.annotation.Path#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Path#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link oaj.http.annotation.Path#format() format} - The schema type format.
+ <li class='jf'>{@link oaj.http.annotation.Path#_enum() _enum}, {@link oaj.http.annotation.Path#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link oaj.http.annotation.Path#allowEmptyValue() allowEmptyValue}, {@link oaj.http.annotation.Path#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link oaj.http.annotation.Path#collectionFormat() collectionFormat}, {@link oaj.http.annotation.Path#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link oaj.http.annotation.Path#exclusiveMaximum() exclusiveMaximum}, {@link oaj.http.annotation.Path#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Path#exclusiveMinimum() exclusiveMinimum}, {@link oaj.http.annotation.Path#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link oaj.http.annotation.Path#format() format}, {@link oaj.http.annotation.Path#f() f} - The schema type format.
<li class='jf'>{@link oaj.http.annotation.Path#items() items} - The schema of items in a collection.
- <li class='jf'>{@link oaj.http.annotation.Path#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Path#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Path#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link oaj.http.annotation.Path#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link oaj.http.annotation.Path#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link oaj.http.annotation.Path#name() name} - Path variable name.
- <li class='jf'>{@link oaj.http.annotation.Path#pattern() pattern} - Input validation. Must match regular expression.
+ <li class='jf'>{@link oaj.http.annotation.Path#maximum() maximum}, {@link oaj.http.annotation.Path#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Path#maxLength() maxLength}, {@link oaj.http.annotation.Path#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Path#minimum() minimum}, {@link oaj.http.annotation.Path#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link oaj.http.annotation.Path#minLength() minLength}, {@link oaj.http.annotation.Path#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link oaj.http.annotation.Path#multipleOf() multipleOf}, {@link oaj.http.annotation.Path#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link oaj.http.annotation.Path#name() name}, {@link oaj.http.annotation.Path#n() n} - Path variable name.
+ <li class='jf'>{@link oaj.http.annotation.Path#pattern() pattern}, {@link oaj.http.annotation.Path#p() p} - Input validation. Must match regular expression.
<li class='jf'>{@link oaj.http.annotation.Path#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link oaj.http.annotation.Path#type() type} - The schema type.
+ <li class='jf'>{@link oaj.http.annotation.Path#type() type}, {@link oaj.http.annotation.Path#t() t} - The schema type.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/08.Request.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/08.Request.html
index a8279ea..17e3c9b 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/08.Request.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/08.Request.html
@@ -23,7 +23,7 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Request}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Request#partSerializer() partSerializer} - Override the part serializer.
+ <li class='jf'>{@link oaj.http.annotation.Request#serializer() serializer} - Override the part serializer.
</ul>
</ul>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/09.Response.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/09.Response.html
index 466cea3..9ed1818 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/09.Response.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/09.Response.html
@@ -21,7 +21,7 @@
<ul class='javatree'>
<li class='ja'>{@link oaj.http.annotation.Response}
<ul>
- <li class='jf'>{@link oaj.http.annotation.Response#partParser() partParser} - Override the part parser.
+ <li class='jf'>{@link oaj.http.annotation.Response#parser() parser} - Override the part parser.
</ul>
</ul>
<p>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/10.DualPurposeInterfaces.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/10.DualPurposeInterfaces.html
index 830aaf7..7e7c9fb 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/10.DualPurposeInterfaces.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/10.DualPurposeInterfaces.html
@@ -107,7 +107,8 @@ Dual-purpose (end-to-end) interfaces
</p>
<p>
In the example above, we chose to add the <ja>@RestMethod</ja> annotation to the implementation class.
- However, they could have been added to the interface instead.
+ However, they could have been added to the interface instead. It's personal preference where you want to place
+ the annotations.
</p>
<p>
Note how we didn't need to use the <ja>@Header</ja> and <ja>@Path</ja> annotations in our implementation since
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRestClient.html b/juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRestClient.html
index ea8c419..d5fd090 100644
--- a/juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRestClient.html
+++ b/juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRestClient.html
@@ -46,8 +46,8 @@ MockRestClient
name=<jsf>PUT</jsf>,
path=<js>"/echo"</js>
)
- <jk>public</jk> MyBean echo(<ja>@Body</ja> MyBean bean) {
- <jk>return</jk> bean;
+ <jk>public</jk> MyBean echo(<ja>@Body</ja> MyBean <jv>bean</jv>) {
+ <jk>return</jk> <jv>bean</jv>;
}
}
@@ -55,20 +55,20 @@ MockRestClient
<ja>@Test</ja>
<jk>public void</jk> testEcho() <jk>throws</jk> Exception {
- MyBean myBean = <jk>new</jk> MyBean();
+ MyBean <jv>myBean</jv> = <jk>new</jk> MyBean();
<jc>// Do a round-trip on the bean through the REST interface</jc>
- myBean = MockRestClient
+ <jv>myBean</jv> = MockRestClient
.<jsm>create</jsm>(EchoRest.<jk>class</jk>)
.simpleJson()
.build()
- .put(<js>"/echo"</js>, myBean)
+ .put(<js>"/echo"</js>, <jv>myBean</jv>)
.run()
.assertStatus().is(200)
.assertBody().is(<js>"{foo:1}"</js>)
.getBody().as(MyBean.<jk>class</jk>);
- <jsm>assertEquals</jsm>(1, myBean.<jf>foo</jf>);
+ <jsm>assertEquals</jsm>(1, <jv>myBean</jv>.<jf>foo</jf>);
}
}
</p>
@@ -80,22 +80,22 @@ MockRestClient
<jk>public void</jk> testEcho() <jk>throws</jk> Exception {
<jc>// Instantiate our mock client.</jc>
- MockRestClient client = MockRestClient
+ MockRestClient <jv>client</jv> = MockRestClient
.<jsm>create</jsm>(EchoRest.<jk>class</jk>)
.simpleJson()
.build();
<jc>// Create a request.</jc>
- RestRequest req = client.put(<js>"/echo"</js>, myBean);
+ RestRequest <jv>req</jv> = <jv>client</jv>.put(<js>"/echo"</js>, <jv>myBean</jv>);
<jc>// Execute it (by calling RestCallHandler.service(...) and then returning the response object).</jc>
- RestResponse res = req.run();
+ RestResponse <jv>res</jv> = <jv>req</jv>.run();
<jc>// Run assertion tests on the results.</jc>
- res.assertStatus().is(200);
- res.assertBody().is(<js>"'foo'"</js>);
+ <jv>res</jv>.assertStatus().is(200);
+ <jv>res</jv>.assertBody().is(<js>"'foo'"</js>);
- myBean = res.getBody().as(MyBean.<jk>class</jk>);
+ <jv>myBean</jv> = <jv>res</jv>.getBody().as(MyBean.<jk>class</jk>);
}
</p>
<p>
@@ -128,11 +128,11 @@ MockRestClient
<ja>@Test</ja>
<jk>public void</jk> mytest() <jk>throws</jk> Exception {
- MockRestClient a = MockRestClient.<jsm>build</jsm>(A.<jk>class</jk>);
+ MockRestClient <jv>client</jv> = MockRestClient.<jsm>build</jsm>(A.<jk>class</jk>);
<jc>// Admin user should get 200, but anyone else should get 403-Unauthorized.</jc>
- a.get().roles(<js>"ADMIN"</js>).run().assertStatus().is(200);
- a.get().roles(<js>"USER"</js>).run().assertStatus().is(403);
+ <jv>client</jv>.get().roles(<js>"ADMIN"</js>).run().assertStatus().is(200);
+ <jv>client</jv>.get().roles(<js>"USER"</js>).run().assertStatus().is(403);
}
</p>
<hr>
@@ -141,7 +141,7 @@ MockRestClient
be sent to the console:
</p>
<p class='bpcode w800'>
- MockRestClient mr = MockRestClient
+ MockRestClient <jv>client</jv> = MockRestClient
.<jsm>create</jsm>(MyRest.<jk>class</jk>)
.debug()
.simpleJson()
@@ -159,7 +159,7 @@ MockRestClient
<jk>public interface</jk> MyRemoteInterface {
<ja>@RemoteMethod</ja>(httpMethod=<js>"GET"</js>, path=<js>"/echoQuery"</js>)
- <jk>public int</jk> echoQuery(<ja>@Query</ja>(name=<js>"id"</js>) <jk>int</jk> id);
+ <jk>public int</jk> echoQuery(<ja>@Query</ja>(name=<js>"id"</js>) <jk>int</jk> <jv>id</jv>);
}
<jc>// Our mocked-up REST interface to test against.</jc>
@@ -167,20 +167,20 @@ MockRestClient
<jk>public class</jk> MyRest {
<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/echoQuery"</js>)
- <jk>public int</jk> echoQuery(<ja>@Query</ja>(<js>"id"</js>) String id) {
- <jk>return</jk> id;
+ <jk>public int</jk> echoQuery(<ja>@Query</ja>(<js>"id"</js>) String <jv>id</jv>) {
+ <jk>return</jk> <jv>id</jv>;
}
}
<ja>@Test</ja>
<jk>public void</jk> testProxy() {
- MyRemoteInterface mri = MockRestClient
+ MyRemoteInterface <jv>mri</jv> = MockRestClient
.create(MyRest.<jk>class</jk>)
.json()
.build()
.getRemote(MyRemoteInterface.<jk>class</jk>);
- <jsm>assertEquals</jsm>(123, mri.echoQuery(123));
+ <jsm>assertEquals</jsm>(123, <jv>mri</jv>.echoQuery(123));
}
</p>
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 8a7807a..921bec4 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -371,8 +371,8 @@
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.RestMethodPath'>@RestMethod(path)</a></p>
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.RequestPathMatch'>RequestPathMatch</a></p>
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.MethodReturnTypes'>Method Return Types</a></p>
- <li><p><a class='doclink' href='#juneau-rest-server.RestMethod.ReaderResource'>ReaderResource</a></p>
- <li><p><a class='doclink' href='#juneau-rest-server.RestMethod.StreamResource'>StreamResource</a></p>
+ <li><p><a class='doclink' href='#juneau-rest-server.RestMethod.ReaderResource'>ReaderResource (TODO)</a></p>
+ <li><p><a class='doclink' href='#juneau-rest-server.RestMethod.StreamResource'>StreamResource (TODO)</a></p>
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.RestMethodMatchers'>@RestMethod(matchers)</a></p>
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.PredefinedResponses'>Predefined Responses</a></p>
<li><p><a class='doclink' href='#juneau-rest-server.RestMethod.PredefinedExceptions'>Predefined Exceptions</a></p>
@@ -474,11 +474,11 @@
<ol>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Remote'>@Remote</a><span class='update'>8.1.2-updated,<b>8.1.4-updated</b></span></p>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.RemoteMethod'>@RemoteMethod</a><span class='update'><b>8.1.4-updated</b></span></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Body'>@Body</a></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.FormData'>@FormData</a></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Query'>@Query</a></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Header'>@Header</a></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Path'>@Path</a></p>
+ <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Body'>@Body</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.FormData'>@FormData</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Query'>@Query</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Header'>@Header</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Path'>@Path</a><span class='update'><b>8.1.4-updated</b></span></p>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Request'>@Request</a></p>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Response'>@Response</a></p>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.DualPurposeInterfaces'>Dual-purpose (end-to-end) interfaces</a><span class='update'>8.0.0-new</span></p>
@@ -14706,7 +14706,6 @@
<li class='jm'>{@link org.apache.juneau.rest.RestRequest#getVarResolverSession() getVarResolverSession()} - String variable resolver.
<li class='jm'>{@link org.apache.juneau.rest.RestRequest#getMessageBundle() getMessageBundle()} - Localized messages.
<li class='jm'>{@link org.apache.juneau.rest.RestRequest#getProperties() getProperties()} - Configuration properties.
- <li class='jm'>{@link org.apache.juneau.rest.RestRequest#getClasspathReaderResource(String,boolean,MediaType,boolean) getClasspathReaderResource(String,boolean,MediaType,boolean)} - Various methods for retrieving static files from classpath.
</ul>
</ul>
</div><!-- END: 6.6.2 - juneau-rest-server.RestMethod.RestRequest -->
@@ -15209,10 +15208,10 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.ReaderResource' id='juneau-rest-server.RestMethod.ReaderResource'>6.6.12 - ReaderResource</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.ReaderResource' id='juneau-rest-server.RestMethod.ReaderResource'>6.6.12 - ReaderResource (TODO)</a></h4>
<div class='topic'><!-- START: 6.6.12 - juneau-rest-server.RestMethod.ReaderResource -->
<p>
- The {@link org.apache.juneau.http.ReaderResource} class is a convenience object for defining thread-safe
+ The <dc>ReaderResource</dc> class is a convenience object for defining thread-safe
reusable character-based responses.
In essence, it's a container for character data with optional response headers and support for
resolving SVL variables.
@@ -15240,10 +15239,10 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.StreamResource' id='juneau-rest-server.RestMethod.StreamResource'>6.6.13 - StreamResource</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.StreamResource' id='juneau-rest-server.RestMethod.StreamResource'>6.6.13 - StreamResource (TODO)</a></h4>
<div class='topic'><!-- START: 6.6.13 - juneau-rest-server.RestMethod.StreamResource -->
<p>
- The {@link org.apache.juneau.http.StreamResource} class is the binary equivalent to the {@link org.apache.juneau.http.ReaderResource} object.
+ The <dc>org.apache.juneau.http.StreamResource</dc> class is the binary equivalent to the <dc>ReaderResource</dc> object.
In essence, it's a container for binary data with optional response headers.
</p>
<p>
@@ -17304,7 +17303,7 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Request}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Request#partParser() partParser} - Override the part parser.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Request#parser() parser} - Override the part parser.
</ul>
</ul>
@@ -17398,7 +17397,7 @@
<li class='jf'>{@link org.apache.juneau.http.annotation.Response#example() example} - Serialized example.
<li class='jf'>{@link org.apache.juneau.http.annotation.Response#examples() examples} - Serialized examples per media type.
<li class='jf'>{@link org.apache.juneau.http.annotation.Response#headers() headers} - Swagger about headers added to response.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Response#partSerializer() partSerializer} - Override the part serializer.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Response#serializer() serializer} - Override the part serializer.
<li class='jf'>{@link org.apache.juneau.http.annotation.Response#schema() schema} - Swagger schema.
<li class='jf'>{@link org.apache.juneau.http.annotation.Response#value() value} - Free-form Swagger JSON.
</ul>
@@ -18883,7 +18882,7 @@
<ul class='javatree'>
<li class='jm'>{@link org.apache.juneau.rest.RestContext#getVarResolver()}
<li class='jm'>{@link org.apache.juneau.rest.RestRequest#getVarResolverSession()}
- <li class='jm'>{@link org.apache.juneau.rest.RestRequest#getClasspathReaderResource(String,boolean)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestRequest#getClasspathHttpResource(String,boolean)}
</ul>
<p>
There are two distinct groups of variables:
@@ -18945,7 +18944,7 @@
<td class='code'>$SW{arg,p1:then1[,p2:then2...]}</td>
<td style='text-align:center;font-weight:bold'>yes</td>
<td style='text-align:center;font-weight:bold'>yes</td>
- <td class='code'>$SW{$P{os.name},*win*:Windows,*:Something else}</td>
+ <td class='code'>$SW{$S{os.name},*win*:Windows,*:Something else}</td>
</tr>
<tr class='dark'>
<td>{@link org.apache.juneau.svl.vars.CoalesceVar}</td>
@@ -18959,7 +18958,7 @@
<td class='code'>$PM{arg,pattern}</td>
<td style='text-align:center;font-weight:bold'>yes</td>
<td style='text-align:center;font-weight:bold'>yes</td>
- <td class='code'>$PM{$P{os.name},*win*}</td>
+ <td class='code'>$PM{$S{os.name},*win*}</td>
</tr>
<tr class='dark'>
<td>{@link org.apache.juneau.svl.vars.NotEmptyVar}</td>
@@ -22678,7 +22677,7 @@
<li class='jm'>{@link org.apache.juneau.rest.client2.RestClient#options(Object) options(uri)}
<li class='jm'>{@link org.apache.juneau.rest.client2.RestClient#formPost(Object,Object) formPost(uri,body)} / {@link org.apache.juneau.rest.client2.RestClient#formPost(Object) formPost(uri)}
<li class='jm'>{@link org.apache.juneau.rest.client2.RestClient#formPostPairs(Object,Object...) formPostPairs(uri,parameters...)}
- <li class='jm'>{@link org.apache.juneau.rest.client2.RestClient#request(HttpMethod,Object,Object) request(method,uri,body)}
+ <li class='jm'>{@link org.apache.juneau.rest.client2.RestClient#request(String,Object,Object) request(method,uri,body)}
</ul>
</ul>
@@ -22848,7 +22847,7 @@
<li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#header(AddFlag,String,Object,HttpPartSchema) header(AddFlag,String,Object,HttpPartSchema)}
<li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#header(Header) header(Header)}
<li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#headers(Object...) headers(Object...)}
- <li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#headers(AddFlag,Object...) headers(AddFlag;Object...)}
+ <li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#headers(AddFlag,Object...) headers(AddFlag,Object...)}
<li class='jm'>{@link org.apache.juneau.rest.client2.RestRequest#headerPairs(Object...) headers(Object...)}
</ul>
</ul>
@@ -22930,6 +22929,7 @@
The methods with {@link org.apache.juneau.AddFlag} parameters allow you to control whether new headers get appended, prepended, or
replace existing headers with the same name.
</p>
+
<ul class='notes'>
<li>Methods that pass in POJOs convert values to strings using the part serializers. Methods that pass in <c>Header</c> or
<c>NameValuePair</c> objects use the values returned by that bean directly.
@@ -23133,10 +23133,6 @@
<li class='jc'>
{@link java.io.InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.
<li class='jc'>
- {@link org.apache.juneau.http.ReaderResource}/{@link org.apache.juneau.http.ReaderResourceBuilder} - Raw contents of {@code Reader} will be serialized to remote resource. Additional headers and media type will be set on request.
- <li class='jc'>
- {@link org.apache.juneau.http.StreamResource}/{@link org.apache.juneau.http.StreamResourceBuilder} - Raw contents of {@code InputStream} will be serialized to remote resource. Additional headers and media type will be set on request.
- <li class='jc'>
{@link org.apache.http.HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.
<li class='jc'>
{@link org.apache.juneau.http.NameValuePairSupplier} - Converted to a URL-encoded FORM post.
@@ -23292,14 +23288,14 @@
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asOptional(Class) asOptional(Class<T>)} <jk>returns</jk> Optional<T></c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asMatcher(Pattern) asMatcher(Pattern)} <jk>returns</jk> {@link java.util.regex.Matcher}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asMatcher(String) asMatcher(String)} <jk>returns</jk> {@link java.util.regex.Matcher}</c>
- <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asHeader(Class) asHeader(Class<T <jk>extends</jk> BasicHeader> c)} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicHeader}</c>
+ <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asHeader(Class) asHeader(Class<T <jk>extends</jk> BasicHeader> c)} <jk>returns</jk> {@link org.apache.juneau.http.BasicHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asStringHeader() asStringHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicIntegerHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asIntegerHeader() asIntegerHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicStringHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asLongHeader() asLongHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicLongHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asDateHeader() asDateHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicDateHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asCsvArrayHeader() asCsvArrayHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicCsvArrayHeader}</c>
- <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asEntityValidatorArrayHeader() asEntityValidatorArrayHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicEntityValidatorArrayHeader}</c>
- <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asRangeArrayHeader() asRangeArrayHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicRangeArrayHeader}</c>
+ <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asEntityTagArrayHeader() asEntityTagArrayHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicEntityTagArrayHeader}</c>
+ <li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asStringRangeArrayHeader() asStringRangeArrayHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicStringRangeArrayHeader}</c>
<li class='jm'><c>{@link org.apache.juneau.rest.client2.RestResponseHeader#asUriHeader() asUriHeader()} <jk>returns</jk> {@link org.apache.juneau.http.header.BasicUriHeader}</c>
</ul>
</ul>
@@ -23746,7 +23742,7 @@
<h5 class='figure'>Example:</h5>
<p class='bpcode w800'>
<jc>// URL is specified via a system property.</jc>
- <ja>@Remote</ja>(path=<js>"$P{PetStoreUrl}"</js>)
+ <ja>@Remote</ja>(path=<js>"$S{PetStoreUrl}"</js>)
<jk>public interface</jk> PetStore {...}
</p>
@@ -23785,7 +23781,7 @@
.rootUrl(<js>"http://localhost:10000/petstore"</js>)
.build();
- PetStore <jv>store</jv> = <jv>client<jv>.getRemote(PetStore.<jk>class</jk>);
+ PetStore <jv>store</jv> = <jv>client</jv>.getRemote(PetStore.<jk>class</jk>);
</p>
@@ -23801,7 +23797,7 @@
path=<js>"/petstore"</js>,
headers={
<js>"Foo: bar"</js>,
- <js>"Baz: $P{bazProperty}"</js>
+ <js>"Baz: $S{bazProperty}"</js>
},
headerSupplier=MyDynamicHeaderSupplier.<jk>class</jk>
)
@@ -24019,7 +24015,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Body' id='juneau-rest-client.RestProxies.Body'>9.11.3 - @Body</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Body' id='juneau-rest-client.RestProxies.Body'>9.11.3 - @Body</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.11.3 - juneau-rest-client.RestProxies.Body -->
<p>
The {@link org.apache.juneau.http.annotation.Body @Body} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
@@ -24028,7 +24024,7 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Body}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Body#required() required} - Input validation. Body must be present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Body#required() required}, {@link org.apache.juneau.http.annotation.Body#r() r} - Input validation. Body must be present.
<li class='jf'>{@link org.apache.juneau.http.annotation.Body#schema() schema} - OpenAPI schema.
</ul>
</ul>
@@ -24040,7 +24036,7 @@
<jk>public interface</jk> PetStore {
<ja>@RemoteMethod</ja>(path=<js>"/pets"</js>)
- String addPet(<ja>@Body</ja> Pet <jv>pet</jv>;
+ String addPet(<ja>@Body</ja> Pet <jv>pet</jv>);
}
</p>
<p class='bpcode w800'>
@@ -24104,12 +24100,13 @@
</p>
<p class='bpcode w800'>
<jc>// Same as above but using free-form schema.</jc>
+ <jc>// Format is simplified-JSON (outer {} brackets are optional).</jc>
<ja>@RemoteMethod</ja>(path=<js>"/comma-delimited-pipe-delimited-ints"</js>)
String addCommaDelimitedPipeDelimitedInts(
<ja>@Body</ja>(
serializer=OpenApiSerializer.<jk>class</jk>,
schema=<ja>@Schema</ja>(
- <js>"type:'array,collectionFormat:'pipes',items:[type:'array',items:[type:'int32',minimum:0,maximum:64]]"</js>
+ <js>"type:'array',collectionFormat:'pipes',items:[type:'array',items:[type:'int32',minimum:0,maximum:64]]"</js>
)
)
<jk>int</jk>[][] <jv>input</jv>
@@ -24127,7 +24124,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.FormData' id='juneau-rest-client.RestProxies.FormData'>9.11.4 - @FormData</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.FormData' id='juneau-rest-client.RestProxies.FormData'>9.11.4 - @FormData</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.11.4 - juneau-rest-client.RestProxies.FormData -->
<p>
The {@link org.apache.juneau.http.annotation.FormData @FormData} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
@@ -24136,28 +24133,28 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.FormData}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#_default() _default} - Default value if not present.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#format() format} - The schema type format.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#_default() _default}, {@link org.apache.juneau.http.annotation.FormData#df() df} - Default value if not present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#_enum() _enum}, {@link org.apache.juneau.http.annotation.FormData#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#allowEmptyValue() allowEmptyValue}, {@link org.apache.juneau.http.annotation.FormData#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#collectionFormat() collectionFormat}, {@link org.apache.juneau.http.annotation.FormData#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#exclusiveMaximum() exclusiveMaximum}, {@link org.apache.juneau.http.annotation.FormData#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#exclusiveMinimum() exclusiveMinimum}, {@link org.apache.juneau.http.annotation.FormData#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#format() format}, {@link org.apache.juneau.http.annotation.FormData#f() f} - The schema type format.
<li class='jf'>{@link org.apache.juneau.http.annotation.FormData#items() items} - The schema of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#name() name} - Form data entry name.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#pattern() pattern}- Input validation. Must match regular expression.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#required() required}- Input validation. Form data entry must be present.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#serializer() serializer}- Override the part serializer.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#skipIfEmpty() skipIfEmpty}- Don't add if value is null or empty.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#type() type} - The schema type.
- <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maximum() maximum}, {@link org.apache.juneau.http.annotation.FormData#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maxItems() maxItems}, {@link org.apache.juneau.http.annotation.FormData#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#maxLength() maxLength}, {@link org.apache.juneau.http.annotation.FormData#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minimum() minimum}, {@link org.apache.juneau.http.annotation.FormData#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minItems() minItems}, {@link org.apache.juneau.http.annotation.FormData#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#minLength() minLength}, {@link org.apache.juneau.http.annotation.FormData#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#multipleOf() multipleOf}, {@link org.apache.juneau.http.annotation.FormData#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#name() name}, {@link org.apache.juneau.http.annotation.FormData#n() n} - Form data entry name.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#pattern() pattern}, {@link org.apache.juneau.http.annotation.FormData#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#required() required}, {@link org.apache.juneau.http.annotation.FormData#r() r} - Input validation. Form data entry must be present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#serializer() serializer} - Override the part serializer.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#skipIfEmpty() skipIfEmpty}, {@link org.apache.juneau.http.annotation.FormData#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#type() type}, {@link org.apache.juneau.http.annotation.FormData#t() t} - The schema type.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.FormData#uniqueItems() uniqueItems}, {@link org.apache.juneau.http.annotation.FormData#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
@@ -24234,7 +24231,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Query' id='juneau-rest-client.RestProxies.Query'>9.11.5 - @Query</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Query' id='juneau-rest-client.RestProxies.Query'>9.11.5 - @Query</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.11.5 - juneau-rest-client.RestProxies.Query -->
<p>
The {@link org.apache.juneau.http.annotation.Query @Query} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
@@ -24243,28 +24240,28 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Query}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#_default() _default} - Default value if not present.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#format() format} - The schema type format.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#_default() _default}, {@link org.apache.juneau.http.annotation.Query#df() df} - Default value if not present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#_enum() _enum}, {@link org.apache.juneau.http.annotation.Query#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#allowEmptyValue() allowEmptyValue}, {@link org.apache.juneau.http.annotation.Query#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#collectionFormat() collectionFormat}, {@link org.apache.juneau.http.annotation.Query#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#exclusiveMaximum() exclusiveMaximum}, {@link org.apache.juneau.http.annotation.Query#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#exclusiveMinimum() exclusiveMinimum}, {@link org.apache.juneau.http.annotation.Query#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#format() format}, {@link org.apache.juneau.http.annotation.Query#f() f} - The schema type format.
<li class='jf'>{@link org.apache.juneau.http.annotation.Query#items() items} - The schema of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#name() name} - Query parameter name.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#pattern() pattern} - Input validation. Must match regular expression.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#required() required} - Input validation. Query parameter must be present.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#skipIfEmpty() skipIfEmpty}- Don't add if value is null or empty.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#type() type} - The schema type.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Query#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maximum() maximum}, {@link org.apache.juneau.http.annotation.Query#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maxItems() maxItems}, {@link org.apache.juneau.http.annotation.Query#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#maxLength() maxLength}, {@link org.apache.juneau.http.annotation.Query#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minimum() minimum}, {@link org.apache.juneau.http.annotation.Query#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minItems() minItems}, {@link org.apache.juneau.http.annotation.Query#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#minLength() minLength}, {@link org.apache.juneau.http.annotation.Query#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#multipleOf() multipleOf}, {@link org.apache.juneau.http.annotation.Query#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#name() name}, {@link org.apache.juneau.http.annotation.Query#n() n} - Query parameter name.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#pattern() pattern}, {@link org.apache.juneau.http.annotation.Query#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#required() required}, {@link org.apache.juneau.http.annotation.Query#r() r} - Input validation. Query parameter must be present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#serializer() serializer} - Override the part serializer.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#skipIfEmpty() skipIfEmpty}, {@link org.apache.juneau.http.annotation.Query#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#type() type}, {@link org.apache.juneau.http.annotation.Query#t() t} - The schema type.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Query#uniqueItems() uniqueItems}, {@link org.apache.juneau.http.annotation.Query#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
@@ -24344,7 +24341,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Header' id='juneau-rest-client.RestProxies.Header'>9.11.6 - @Header</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Header' id='juneau-rest-client.RestProxies.Header'>9.11.6 - @Header</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.11.6 - juneau-rest-client.RestProxies.Header -->
<p>
The {@link org.apache.juneau.http.annotation.Header @Header} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
@@ -24353,28 +24350,28 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Header}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#_default() _default} - Default value if not present.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#format() format} - The schema type format.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#_default() _default}, {@link org.apache.juneau.http.annotation.Header#df() df} - Default value if not present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#_enum() _enum}, {@link org.apache.juneau.http.annotation.Header#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#allowEmptyValue() allowEmptyValue}, {@link org.apache.juneau.http.annotation.Header#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#collectionFormat() collectionFormat}, {@link org.apache.juneau.http.annotation.Header#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#exclusiveMaximum() exclusiveMaximum}, {@link org.apache.juneau.http.annotation.Header#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#exclusiveMinimum() exclusiveMinimum}, {@link org.apache.juneau.http.annotation.Header#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#format() format}, {@link org.apache.juneau.http.annotation.Header#f() f} - The schema type format.
<li class='jf'>{@link org.apache.juneau.http.annotation.Header#items() items} - The schema of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maxItems() maxItems} - Input validation. Maximum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minItems() minItems} - Input validation. Minimum number of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#name() name} - Header name.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#pattern() pattern} - Input validation. Must match regular expression.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#required() required} - Input validation. Header must be present.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maximum() maximum}, {@link org.apache.juneau.http.annotation.Header#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maxItems() maxItems}, {@link org.apache.juneau.http.annotation.Header#maxi() maxi} - Input validation. Maximum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#maxLength() maxLength}, {@link org.apache.juneau.http.annotation.Header#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minimum() minimum}, {@link org.apache.juneau.http.annotation.Header#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minItems() minItems}, {@link org.apache.juneau.http.annotation.Header#mini() mini} - Input validation. Minimum number of items in a collection.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#minLength() minLength}, {@link org.apache.juneau.http.annotation.Header#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#multipleOf() multipleOf}, {@link org.apache.juneau.http.annotation.Header#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#name() name}, {@link org.apache.juneau.http.annotation.Header#n() n} - Header name.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#pattern() pattern}, {@link org.apache.juneau.http.annotation.Header#p() p} - Input validation. Must match regular expression.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#required() required}, {@link org.apache.juneau.http.annotation.Header#r() r} - Input validation. Header must be present.
<li class='jf'>{@link org.apache.juneau.http.annotation.Header#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#skipIfEmpty() skipIfEmpty} - Don't add if value is null or empty.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#type() type} - The schema type.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Header#uniqueItems() uniqueItems} - Input validation. Collections must contain unique items only.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#skipIfEmpty() skipIfEmpty}, {@link org.apache.juneau.http.annotation.Header#sie() sie} - Don't add if value is null or empty.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#type() type}, {@link org.apache.juneau.http.annotation.Header#t() t} - The schema type.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Header#uniqueItems() uniqueItems}, {@link org.apache.juneau.http.annotation.Header#ui() ui} - Input validation. Collections must contain unique items only.
</ul>
</ul>
@@ -24440,7 +24437,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Path' id='juneau-rest-client.RestProxies.Path'>9.11.7 - @Path</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Path' id='juneau-rest-client.RestProxies.Path'>9.11.7 - @Path</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.11.7 - juneau-rest-client.RestProxies.Path -->
<p>
The {@link org.apache.juneau.http.annotation.Path @Path} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
@@ -24449,22 +24446,22 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Path}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#_enum() _enum} - Input validation. Must match one of the values.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#allowEmptyValue() allowEmptyValue} - Input validation. Allow empty value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#collectionFormat() collectionFormat} - How collections of items are formatted.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#exclusiveMaximum() exclusiveMaximum} - Input validation. Whether maximum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#exclusiveMinimum() exclusiveMinimum} - Input validation. Whether minimum is exclusive.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#format() format} - The schema type format.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#_enum() _enum}, {@link org.apache.juneau.http.annotation.Path#e() e} - Input validation. Must match one of the values.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#allowEmptyValue() allowEmptyValue}, {@link org.apache.juneau.http.annotation.Path#aev() aev} - Input validation. Allow empty value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#collectionFormat() collectionFormat}, {@link org.apache.juneau.http.annotation.Path#cf() cf} - How collections of items are formatted.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#exclusiveMaximum() exclusiveMaximum}, {@link org.apache.juneau.http.annotation.Path#emax() emax} - Input validation. Whether maximum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#exclusiveMinimum() exclusiveMinimum}, {@link org.apache.juneau.http.annotation.Path#emin() emin} - Input validation. Whether minimum is exclusive.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#format() format}, {@link org.apache.juneau.http.annotation.Path#f() f} - The schema type format.
<li class='jf'>{@link org.apache.juneau.http.annotation.Path#items() items} - The schema of items in a collection.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#maximum() maximum} - Input validation. Maximum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#maxLength() maxLength} - Input validation. Maximum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#minimum() minimum} - Input validation. Minimum numeric value.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#minLength() minLength} - Input validation. Minimum length of a string.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#multipleOf() multipleOf} - Input validation. Number must be a multiple of.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#name() name} - Path variable name.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#pattern() pattern} - Input validation. Must match regular expression.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#maximum() maximum}, {@link org.apache.juneau.http.annotation.Path#max() max} - Input validation. Maximum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#maxLength() maxLength}, {@link org.apache.juneau.http.annotation.Path#maxl() maxl} - Input validation. Maximum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#minimum() minimum}, {@link org.apache.juneau.http.annotation.Path#min() min} - Input validation. Minimum numeric value.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#minLength() minLength}, {@link org.apache.juneau.http.annotation.Path#minl() minl} - Input validation. Minimum length of a string.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#multipleOf() multipleOf}, {@link org.apache.juneau.http.annotation.Path#mo() mo} - Input validation. Number must be a multiple of.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#name() name}, {@link org.apache.juneau.http.annotation.Path#n() n} - Path variable name.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#pattern() pattern}, {@link org.apache.juneau.http.annotation.Path#p() p} - Input validation. Must match regular expression.
<li class='jf'>{@link org.apache.juneau.http.annotation.Path#serializer() serializer} - Override the part serializer.
- <li class='jf'>{@link org.apache.juneau.http.annotation.Path#type() type} - The schema type.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Path#type() type}, {@link org.apache.juneau.http.annotation.Path#t() t} - The schema type.
</ul>
</ul>
@@ -24539,7 +24536,7 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Request}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Request#partSerializer() partSerializer} - Override the part serializer.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Request#serializer() serializer} - Override the part serializer.
</ul>
</ul>
@@ -24657,7 +24654,7 @@
<ul class='javatree'>
<li class='ja'>{@link org.apache.juneau.http.annotation.Response}
<ul>
- <li class='jf'>{@link org.apache.juneau.http.annotation.Response#partParser() partParser} - Override the part parser.
+ <li class='jf'>{@link org.apache.juneau.http.annotation.Response#parser() parser} - Override the part parser.
</ul>
</ul>
<p>
@@ -24806,7 +24803,8 @@
</p>
<p>
In the example above, we chose to add the <ja>@RestMethod</ja> annotation to the implementation class.
- However, they could have been added to the interface instead.
+ However, they could have been added to the interface instead. It's personal preference where you want to place
+ the annotations.
</p>
<p>
Note how we didn't need to use the <ja>@Header</ja> and <ja>@Path</ja> annotations in our implementation since
@@ -25299,8 +25297,8 @@
name=<jsf>PUT</jsf>,
path=<js>"/echo"</js>
)
- <jk>public</jk> MyBean echo(<ja>@Body</ja> MyBean bean) {
- <jk>return</jk> bean;
+ <jk>public</jk> MyBean echo(<ja>@Body</ja> MyBean <jv>bean</jv>) {
+ <jk>return</jk> <jv>bean</jv>;
}
}
@@ -25308,20 +25306,20 @@
<ja>@Test</ja>
<jk>public void</jk> testEcho() <jk>throws</jk> Exception {
- MyBean myBean = <jk>new</jk> MyBean();
+ MyBean <jv>myBean</jv> = <jk>new</jk> MyBean();
<jc>// Do a round-trip on the bean through the REST interface</jc>
- myBean = MockRestClient
+ <jv>myBean</jv> = MockRestClient
.<jsm>create</jsm>(EchoRest.<jk>class</jk>)
.simpleJson()
.build()
- .put(<js>"/echo"</js>, myBean)
+ .put(<js>"/echo"</js>, <jv>myBean</jv>)
.run()
.assertStatus().is(200)
.assertBody().is(<js>"{foo:1}"</js>)
.getBody().as(MyBean.<jk>class</jk>);
- <jsm>assertEquals</jsm>(1, myBean.<jf>foo</jf>);
+ <jsm>assertEquals</jsm>(1, <jv>myBean</jv>.<jf>foo</jf>);
}
}
</p>
@@ -25333,22 +25331,22 @@
<jk>public void</jk> testEcho() <jk>throws</jk> Exception {
<jc>// Instantiate our mock client.</jc>
- MockRestClient client = MockRestClient
+ MockRestClient <jv>client</jv> = MockRestClient
.<jsm>create</jsm>(EchoRest.<jk>class</jk>)
.simpleJson()
.build();
<jc>// Create a request.</jc>
- RestRequest req = client.put(<js>"/echo"</js>, myBean);
+ RestRequest <jv>req</jv> = <jv>client</jv>.put(<js>"/echo"</js>, <jv>myBean</jv>);
<jc>// Execute it (by calling RestCallHandler.service(...) and then returning the response object).</jc>
- RestResponse res = req.run();
+ RestResponse <jv>res</jv> = <jv>req</jv>.run();
<jc>// Run assertion tests on the results.</jc>
- res.assertStatus().is(200);
- res.assertBody().is(<js>"'foo'"</js>);
+ <jv>res</jv>.assertStatus().is(200);
+ <jv>res</jv>.assertBody().is(<js>"'foo'"</js>);
- myBean = res.getBody().as(MyBean.<jk>class</jk>);
+ <jv>myBean</jv> = res.getBody().as(MyBean.<jk>class</jk>);
}
</p>
<p>
@@ -25381,11 +25379,11 @@
<ja>@Test</ja>
<jk>public void</jk> mytest() <jk>throws</jk> Exception {
- MockRestClient a = MockRestClient.<jsm>build</jsm>(A.<jk>class</jk>);
+ MockRestClient <jv>client</jv> = MockRestClient.<jsm>build</jsm>(A.<jk>class</jk>);
<jc>// Admin user should get 200, but anyone else should get 403-Unauthorized.</jc>
- a.get().roles(<js>"ADMIN"</js>).run().assertStatus().is(200);
- a.get().roles(<js>"USER"</js>).run().assertStatus().is(403);
+ <jv>client</jv>.get().roles(<js>"ADMIN"</js>).run().assertStatus().is(200);
+ <jv>client</jv>.get().roles(<js>"USER"</js>).run().assertStatus().is(403);
}
</p>
<hr>
@@ -25394,7 +25392,7 @@
be sent to the console:
</p>
<p class='bpcode w800'>
- MockRestClient mr = MockRestClient
+ MockRestClient <jv>client</jv> = MockRestClient
.<jsm>create</jsm>(MyRest.<jk>class</jk>)
.debug()
.simpleJson()
@@ -25412,7 +25410,7 @@
<jk>public interface</jk> MyRemoteInterface {
<ja>@RemoteMethod</ja>(httpMethod=<js>"GET"</js>, path=<js>"/echoQuery"</js>)
- <jk>public int</jk> echoQuery(<ja>@Query</ja>(name=<js>"id"</js>) <jk>int</jk> id);
+ <jk>public int</jk> echoQuery(<ja>@Query</ja>(name=<js>"id"</js>) <jk>int</jk> <jv>id</jv>);
}
<jc>// Our mocked-up REST interface to test against.</jc>
@@ -25420,20 +25418,20 @@
<jk>public class</jk> MyRest {
<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/echoQuery"</js>)
- <jk>public int</jk> echoQuery(<ja>@Query</ja>(<js>"id"</js>) String id) {
- <jk>return</jk> id;
+ <jk>public int</jk> echoQuery(<ja>@Query</ja>(<js>"id"</js>) String <jv>id</jv>) {
+ <jk>return</jk> <jv>id</jv>;
}
}
<ja>@Test</ja>
<jk>public void</jk> testProxy() {
- MyRemoteInterface mri = MockRestClient
+ MyRemoteInterface <jv>mri</jv> = MockRestClient
.create(MyRest.<jk>class</jk>)
.json()
.build()
.getRemote(MyRemoteInterface.<jk>class</jk>);
- <jsm>assertEquals</jsm>(123, mri.echoQuery(123));
+ <jsm>assertEquals</jsm>(123, <jv>mri</jv>.echoQuery(123));
}
</p>
</div><!-- END: 10.1 - juneau-rest-mock.MockRestClient -->
@@ -30882,7 +30880,7 @@
<td></td>
<td>{@link org.apache.juneau.rest.RestContext#REST_classpathResourceFinder REST_classpathResourceFinder}</td>
<td>Classpath resource finder.</td>
- <td style='max-width:250px;overflow:hidden'>{@link org.apache.juneau.utils.ClasspathResourceFinder}</td>
+ <td style='max-width:250px;overflow:hidden'>{@link org.apache.juneau.cp.ResourceFinder}</td>
</tr>
<tr>
<td></td>
@@ -36862,9 +36860,9 @@
<li><c>getReaderResource(String,boolean,MediaType)</c> renamed to
<dc>getClasspathReaderResource(String,boolean,MediaType)</dc>
<li><c>getReaderResource(String,boolean)</c> renamed to
- {@link org.apache.juneau.rest.RestRequest#getClasspathReaderResource(String,boolean) getClasspathReaderResource(String,boolean)}
+ {@link org.apache.juneau.rest.RestRequest#getClasspathHttpResource(String,boolean) getClasspathHttpResource(String,boolean)}
<li><c>getReaderResource(String)</c> renamed to
- {@link org.apache.juneau.rest.RestRequest#getClasspathReaderResource(String) getClasspathReaderResource(String)}
+ {@link org.apache.juneau.rest.RestRequest#getClasspathHttpResource(String) getClasspathHttpResource(String)}
</ul>
<li>
Changes to <dc>@RestResource</dc>
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt b/juneau-doc/src/main/javadoc/resources/docs.txt
index 770a897..6bad7bc 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -344,7 +344,7 @@ juneau-rest-server.RestMethod.MethodReturnTypes = #juneau-rest-server.RestMethod
juneau-rest-server.RestMethod.PredefinedExceptions = #juneau-rest-server.RestMethod.PredefinedExceptions, Overview > juneau-rest-server > @RestMethod > Predefined Exceptions
juneau-rest-server.RestMethod.PredefinedHelperBeans = #juneau-rest-server.RestMethod.PredefinedHelperBeans, Overview > juneau-rest-server > @RestMethod > Predefined Helper Beans
juneau-rest-server.RestMethod.PredefinedResponses = #juneau-rest-server.RestMethod.PredefinedResponses, Overview > juneau-rest-server > @RestMethod > Predefined Responses
-juneau-rest-server.RestMethod.ReaderResource = #juneau-rest-server.RestMethod.ReaderResource, Overview > juneau-rest-server > @RestMethod > ReaderResource
+juneau-rest-server.RestMethod.ReaderResource = #juneau-rest-server.RestMethod.ReaderResource, Overview > juneau-rest-server > @RestMethod > ReaderResource (TODO)
juneau-rest-server.RestMethod.RequestAttributes = #juneau-rest-server.RestMethod.RequestAttributes, Overview > juneau-rest-server > @RestMethod > RequestAttributes
juneau-rest-server.RestMethod.RequestBody = #juneau-rest-server.RestMethod.RequestBody, Overview > juneau-rest-server > @RestMethod > RequestBody
juneau-rest-server.RestMethod.RequestFormData = #juneau-rest-server.RestMethod.RequestFormData, Overview > juneau-rest-server > @RestMethod > RequestFormData
@@ -355,7 +355,7 @@ juneau-rest-server.RestMethod.RestMethodMatchers = #juneau-rest-server.RestMetho
juneau-rest-server.RestMethod.RestMethodPath = #juneau-rest-server.RestMethod.RestMethodPath, Overview > juneau-rest-server > @RestMethod > @RestMethod(path)
juneau-rest-server.RestMethod.RestRequest = #juneau-rest-server.RestMethod.RestRequest, Overview > juneau-rest-server > @RestMethod > RestRequest
juneau-rest-server.RestMethod.RestResponse = #juneau-rest-server.RestMethod.RestResponse, Overview > juneau-rest-server > @RestMethod > RestResponse
-juneau-rest-server.RestMethod.StreamResource = #juneau-rest-server.RestMethod.StreamResource, Overview > juneau-rest-server > @RestMethod > StreamResource
+juneau-rest-server.RestMethod.StreamResource = #juneau-rest-server.RestMethod.StreamResource, Overview > juneau-rest-server > @RestMethod > StreamResource (TODO)
juneau-rest-server.RoleGuards = #juneau-rest-server.RoleGuards, Overview > juneau-rest-server > Role guards
juneau-rest-server.Serializers = #juneau-rest-server.Serializers, Overview > juneau-rest-server > Serializers
juneau-rest-server.StaticFiles = #juneau-rest-server.StaticFiles, Overview > juneau-rest-server > Static files
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 2c4cbb8..4280ef9 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -225,8 +225,8 @@
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.RestMethodPath'>@RestMethod(path)</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.RequestPathMatch'>RequestPathMatch</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.MethodReturnTypes'>Method Return Types</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.ReaderResource'>ReaderResource</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.StreamResource'>StreamResource</a></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.ReaderResource'>ReaderResource (TODO)</a></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.StreamResource'>StreamResource (TODO)</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.RestMethodMatchers'>@RestMethod(matchers)</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.PredefinedResponses'>Predefined Responses</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.RestMethod.PredefinedExceptions'>Predefined Exceptions</a></p>
@@ -328,11 +328,11 @@
<ol>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Remote'>@Remote</a><span class='update'>8.1.2-updated,<b>8.1.4-updated</b></span></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.RemoteMethod'>@RemoteMethod</a><span class='update'><b>8.1.4-updated</b></span></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Body'>@Body</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.FormData'>@FormData</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Query'>@Query</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Header'>@Header</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Path'>@Path</a></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Body'>@Body</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.FormData'>@FormData</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Query'>@Query</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Header'>@Header</a><span class='update'><b>8.1.4-updated</b></span></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Path'>@Path</a><span class='update'><b>8.1.4-updated</b></span></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Request'>@Request</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Response'>@Response</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.DualPurposeInterfaces'>Dual-purpose (end-to-end) interfaces</a><span class='update'>8.0.0-new</span></p>
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
index 91f75aa..4724eeb 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
@@ -39,6 +39,7 @@ import org.apache.juneau.parser.ParseException;
import org.apache.juneau.svl.*;
import org.apache.juneau.svl.vars.ManifestFileVar;
import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.MessageBundle;
/**
* Parent class for all microservices.
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
index 820b885..33232e6 100644
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
@@ -18,7 +18,7 @@ import java.util.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.config.*;
import org.apache.juneau.microservice.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
/**
* Implements the 'config' console command to get or set configuration.
@@ -31,7 +31,7 @@ public class ConfigCommand extends ConsoleCommand {
public String getName() {
return "config";
}
-
+
@Override /* ConsoleCommand */
public String getSynopsis() {
return "config [get|set]";
@@ -60,7 +60,7 @@ public class ConfigCommand extends ConsoleCommand {
if (val != null)
out.println(val);
else
- out.println(mb.getString("KeyNotFound", key));
+ out.println(mb.getString("KeyNotFound", key));
} else {
out.println(mb.getString("TooManyArguments"));
}
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ExitCommand.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ExitCommand.java
index 80bafbb..5cb2216 100644
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ExitCommand.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ExitCommand.java
@@ -17,7 +17,7 @@ import java.util.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.microservice.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
/**
* Implements the 'exit' console command to gracefully shut down the microservice and JVM.
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/HelpCommand.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/HelpCommand.java
index 06ba4d9..34610b6 100644
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/HelpCommand.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/HelpCommand.java
@@ -17,7 +17,7 @@ import java.util.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.microservice.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
/**
* Implements the 'restart' console command to gracefully shut down and restart the microservice.
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/RestartCommand.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/RestartCommand.java
index a1d951a..64108f0 100644
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/RestartCommand.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/RestartCommand.java
@@ -17,7 +17,7 @@ import java.util.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.microservice.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
/**
* Implements the 'restart' console command to gracefully shut down and restart the microservice.
diff --git a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
index bdcc9f0..14f16a5 100644
--- a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
+++ b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
@@ -24,13 +24,13 @@ import javax.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.internal.*;
import org.apache.juneau.microservice.*;
import org.apache.juneau.parser.ParseException;
import org.apache.juneau.reflect.ClassInfo;
import org.apache.juneau.rest.*;
import org.apache.juneau.svl.*;
-import org.apache.juneau.utils.*;
import org.eclipse.jetty.server.*;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.handler.*;
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Response_Headers_Test.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Response_Headers_Test.java
index 3d90413..cc96005 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Response_Headers_Test.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Response_Headers_Test.java
@@ -77,7 +77,7 @@ public class RestClient_Response_Headers_Test {
checkFooClient().build().get("/echo").header("Foo","bar").run().getHeader("Foo").asCsvArrayHeader().assertName().is("Foo").assertValue().is("bar");
checkFooClient().build().get("/echo").header("Foo","*").run().getHeader("Foo").asEntityTagArrayHeader().assertName().is("Foo").assertValue().is("*");
- checkFooClient().build().get("/echo").header("Foo","bar").run().getHeader("Foo").asRangeArrayHeader().assertName().is("Foo").assertValue().is("bar");
+ checkFooClient().build().get("/echo").header("Foo","bar").run().getHeader("Foo").asStringRangeArrayHeader().assertName().is("Foo").assertValue().is("bar");
checkFooClient().build().get("/echo").header("Foo","bar").run().getHeader("Foo").asStringHeader().assertName().is("Foo").assertValue().is("bar");
checkFooClient().build().get("/echo").header("Foo","bar").run().getHeader("Foo").asUriHeader().assertName().is("Foo").assertValue().is("bar");
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
index 0ec111e..32aa187 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
@@ -617,7 +617,7 @@ import org.apache.juneau.utils.*;
* <li class='jm'><c>{@link RestResponseHeader#asDateHeader() asDateHeader()} <jk>returns</jk> {@link BasicDateHeader}</c>
* <li class='jm'><c>{@link RestResponseHeader#asCsvArrayHeader() asCsvArrayHeader()} <jk>returns</jk> {@link BasicCsvArrayHeader}</c>
* <li class='jm'><c>{@link RestResponseHeader#asEntityTagArrayHeader() asEntityValidatorArrayHeader()} <jk>returns</jk> {@link BasicEntityTagArrayHeader}</c>
- * <li class='jm'><c>{@link RestResponseHeader#asRangeArrayHeader() asRangeArrayHeader()} <jk>returns</jk> {@link BasicStringRangeArrayHeader}</c>
+ * <li class='jm'><c>{@link RestResponseHeader#asStringRangeArrayHeader() asRangeArrayHeader()} <jk>returns</jk> {@link BasicStringRangeArrayHeader}</c>
* <li class='jm'><c>{@link RestResponseHeader#asUriHeader() asUriHeader()} <jk>returns</jk> {@link BasicUriHeader}</c>
* </ul>
* </ul>
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
index d3d06ae..456ea30 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
@@ -218,7 +218,7 @@ public class RestResponseHeader implements Header {
*
* @return The value of this header as a range array header, never <jk>null</jk>.
*/
- public BasicStringRangeArrayHeader asRangeArrayHeader() {
+ public BasicStringRangeArrayHeader asStringRangeArrayHeader() {
return new BasicStringRangeArrayHeader(getName(), getValue());
}
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
index a303908..dc18e31 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
@@ -60,7 +60,7 @@ public class BasicRestInfoProviderTest {
return ip.getSwagger(req);
}
- public static class TestClasspathResourceFinder extends BasicClasspathResourceFinder {
+ public static class TestClasspathResourceFinder extends BasicResourceFinder {
@Override
public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
if (name.endsWith(".json"))
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
index a1fe7bd..d90030c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
@@ -22,12 +22,12 @@ import java.util.*;
import javax.servlet.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.mock2.*;
-import org.apache.juneau.utils.*;
import org.junit.*;
@FixMethodOrder(NAME_ASCENDING)
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
index 4bcedd0..a4ff1f7 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
@@ -25,7 +25,7 @@ import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.juneau.cp.*;
-import org.apache.juneau.cp.ClasspathResourceFinder;
+import org.apache.juneau.cp.ResourceFinder;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.html.annotation.*;
import org.apache.juneau.internal.*;
@@ -52,14 +52,14 @@ import org.apache.juneau.http.exception.*;
"stats: servlet:/stats"
}
)
-public abstract class BasicRest implements BasicUniversalRest, BasicRestMethods, RestCallHandler, RestInfoProvider, RestCallLogger, RestResourceResolver, ClasspathResourceFinder {
+public abstract class BasicRest implements BasicUniversalRest, BasicRestMethods, RestCallHandler, RestInfoProvider, RestCallLogger, RestResourceResolver, ResourceFinder {
private Logger logger = Logger.getLogger(getClass().getName());
private volatile RestContext context;
private RestCallHandler callHandler;
private RestInfoProvider infoProvider;
private RestCallLogger callLogger;
- private ClasspathResourceFinder resourceFinder;
+ private ResourceFinder resourceFinder;
private RestResourceResolver resourceResolver = new BasicRestResourceResolver();
/**
@@ -279,7 +279,7 @@ public abstract class BasicRest implements BasicUniversalRest, BasicRestMethods,
this.callHandler = new BasicRestCallHandler(context);
this.infoProvider = new BasicRestInfoProvider(context);
this.callLogger = new BasicRestCallLogger(context);
- this.resourceFinder = new BasicClasspathResourceFinder();
+ this.resourceFinder = new BasicResourceFinder();
}
/**
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index e765fd8..62f727f 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -39,8 +39,7 @@ import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.config.*;
import org.apache.juneau.cp.*;
-import org.apache.juneau.cp.ClasspathResourceFinder;
-import org.apache.juneau.cp.ClasspathResourceManager;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.encoders.*;
import org.apache.juneau.html.*;
import org.apache.juneau.html.annotation.*;
@@ -778,8 +777,8 @@ public final class RestContext extends BeanContext {
* <ul class='spaced-list'>
* <li><b>ID:</b> {@link org.apache.juneau.rest.RestContext#REST_classpathResourceFinder REST_classpathResourceFinder}
* <li><b>Name:</b> <js>"RestContext.classpathResourceFinder.o"</js>
- * <li><b>Data type:</b> {@link org.apache.juneau.cp.ClasspathResourceFinder}
- * <li><b>Default:</b> {@link org.apache.juneau.cp.BasicClasspathResourceFinder}
+ * <li><b>Data type:</b> {@link org.apache.juneau.cp.ResourceFinder}
+ * <li><b>Default:</b> {@link org.apache.juneau.cp.BasicResourceFinder}
* <li><b>Session property:</b> <jk>false</jk>
* <li><b>Annotations:</b>
* <ul>
@@ -788,7 +787,7 @@ public final class RestContext extends BeanContext {
* <li><b>Methods:</b>
* <ul>
* <li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#classpathResourceFinder(Class)}
- * <li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#classpathResourceFinder(ClasspathResourceFinder)}
+ * <li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#classpathResourceFinder(ResourceFinder)}
* </ul>
* </ul>
*
@@ -857,17 +856,17 @@ public final class RestContext extends BeanContext {
*
* <ul class='notes'>
* <li>
- * The default value is {@link BasicClasspathResourceFinder} which provides basic support for finding localized
+ * The default value is {@link BasicResourceFinder} which provides basic support for finding localized
* resources on the classpath and JVM working directory.
- * <br>The {@link RecursiveClasspathResourceFinder} is another option that also recursively searches for resources
+ * <br>The {@link RecursiveResourceFinder} is another option that also recursively searches for resources
* up the class-hierarchy.
* <br>Each of these classes can be extended to provide customized handling of resource retrieval.
* <li>
- * The resource class itself will be used if it implements the {@link ClasspathResourceFinder} interface and not
+ * The resource class itself will be used if it implements the {@link ResourceFinder} interface and not
* explicitly overridden via this annotation.
* <li>
- * The {@link RestServlet} and {@link BasicRest} classes implement the {@link ClasspathResourceFinder} interface with the same
- * functionality as {@link BasicClasspathResourceFinder} that gets used if not overridden by this annotation.
+ * The {@link RestServlet} and {@link BasicRest} classes implement the {@link ResourceFinder} interface with the same
+ * functionality as {@link BasicResourceFinder} that gets used if not overridden by this annotation.
* <br>Subclasses can also alter the behavior by overriding these methods.
* <li>
* When defined as a class, the implementation must have one of the following constructors:
@@ -3655,7 +3654,7 @@ public final class RestContext extends BeanContext {
// In-memory cache of images and stylesheets in the org.apache.juneau.rest.htdocs package.
private final Map<String,StaticFile> staticFilesCache = new ConcurrentHashMap<>();
- private final ClasspathResourceManager staticResourceManager;
+ private final ResourceManager staticResourceManager;
@Deprecated private final ConcurrentHashMap<Integer,AtomicInteger> stackTraceHashes = new ConcurrentHashMap<>();
private final ThreadLocal<RestRequest> req = new ThreadLocal<>();
@@ -3835,11 +3834,11 @@ public final class RestContext extends BeanContext {
for (String mimeType : getArrayProperty(REST_mimeTypes, String.class))
mimetypesFileTypeMap.addMimeTypes(mimeType);
- Object defaultResourceFinder = resource instanceof ClasspathResourceFinder ? resource : BasicClasspathResourceFinder.class;
- ClasspathResourceFinder rf = getInstanceProperty(REST_classpathResourceFinder, ClasspathResourceFinder.class, defaultResourceFinder, resourceResolver, this);
+ Object defaultResourceFinder = resource instanceof ResourceFinder ? resource : BasicResourceFinder.class;
+ ResourceFinder rf = getInstanceProperty(REST_classpathResourceFinder, ResourceFinder.class, defaultResourceFinder, resourceResolver, this);
useClasspathResourceCaching = getProperty(REST_useClasspathResourceCaching, boolean.class, true);
- staticResourceManager = new ClasspathResourceManager(rci.inner(), rf, useClasspathResourceCaching);
+ staticResourceManager = new ResourceManager(rci.inner(), rf, useClasspathResourceCaching);
consumes = getListProperty(REST_consumes, MediaType.class, parsers.getSupportedMediaTypes());
produces = getListProperty(REST_produces, MediaType.class, serializers.getSupportedMediaTypes());
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 05b787b..1f443f9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -136,7 +136,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
.defaultVars()
.vars(ConfigVar.class)
.vars(FileVar.class)
- .contextObject("crm", new ClasspathResourceManager(resourceClass));
+ .contextObject("crm", new ResourceManager(resourceClass));
VarResolver vr = varResolverBuilder.build();
@@ -745,11 +745,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
*
* @param value
* The new value for this setting.
- * <br>The default is {@link BasicClasspathResourceFinder}.
+ * <br>The default is {@link BasicResourceFinder}.
* @return This object (for method chaining).
*/
@FluentSetter
- public RestContextBuilder classpathResourceFinder(Class<? extends ClasspathResourceFinder> value) {
+ public RestContextBuilder classpathResourceFinder(Class<? extends ResourceFinder> value) {
return set(REST_classpathResourceFinder, value);
}
@@ -757,7 +757,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
* <i><l>RestContext</l> configuration property: </i> Classpath resource finder.
*
* <p>
- * Same as {@link #classpathResourceFinder(ClasspathResourceFinder)} except input is a pre-constructed instance.
+ * Same as {@link #classpathResourceFinder(ResourceFinder)} except input is a pre-constructed instance.
*
* <ul class='seealso'>
* <li class='jf'>{@link RestContext#REST_classpathResourceFinder}
@@ -765,11 +765,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
*
* @param value
* The new value for this setting.
- * <br>The default is {@link BasicClasspathResourceFinder}.
+ * <br>The default is {@link BasicResourceFinder}.
* @return This object (for method chaining).
*/
@FluentSetter
- public RestContextBuilder classpathResourceFinder(ClasspathResourceFinder value) {
+ public RestContextBuilder classpathResourceFinder(ResourceFinder value) {
return set(REST_classpathResourceFinder, value);
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
index 729e78a..eaddf47 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
@@ -21,12 +21,12 @@ import javax.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.http.header.*;
import org.apache.juneau.http.header.Date;
import org.apache.juneau.parser.*;
import org.apache.juneau.reflect.*;
-import org.apache.juneau.utils.*;
/**
* REST java method parameter resolver.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
index 8937e34..324b289 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
@@ -25,6 +25,7 @@ import javax.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.http.annotation.*;
import org.apache.juneau.http.annotation.Body;
@@ -43,7 +44,6 @@ import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.http.exception.*;
import org.apache.juneau.rest.util.UrlPathPattern;
import org.apache.juneau.serializer.*;
-import org.apache.juneau.utils.*;
/**
* Default REST method parameter resolvers.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 5925ab6..aa21bc0 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -36,6 +36,8 @@ import javax.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.http.*;
import org.apache.juneau.http.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
index 40fc98e..1270102 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
@@ -42,7 +42,7 @@ import org.apache.juneau.http.exception.*;
* <li class='link'>{@doc juneau-rest-server.Instantiation.RestServlet}
* </ul>
*/
-public abstract class RestServlet extends HttpServlet implements RestCallHandler, RestInfoProvider, RestCallLogger, RestResourceResolver, ClasspathResourceFinder {
+public abstract class RestServlet extends HttpServlet implements RestCallHandler, RestInfoProvider, RestCallLogger, RestResourceResolver, ResourceFinder {
private static final long serialVersionUID = 1L;
@@ -55,7 +55,7 @@ public abstract class RestServlet extends HttpServlet implements RestCallHandler
private RestCallHandler callHandler;
private RestInfoProvider infoProvider;
private RestCallLogger callLogger;
- private ClasspathResourceFinder resourceFinder;
+ private ResourceFinder resourceFinder;
@Override /* Servlet */
public final synchronized void init(ServletConfig servletConfig) throws ServletException {
@@ -101,7 +101,7 @@ public abstract class RestServlet extends HttpServlet implements RestCallHandler
callHandler = new BasicRestCallHandler(context);
infoProvider = new BasicRestInfoProvider(context);
callLogger = new BasicRestCallLogger(context);
- resourceFinder = new BasicClasspathResourceFinder();
+ resourceFinder = new BasicResourceFinder();
context.postInit();
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
index c1e28a4..9018f3a 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
@@ -45,7 +45,7 @@ import org.apache.juneau.rest.annotation.*;
* </p>
*
* <p>
- * Static files are found by using the {@link ClasspathResourceFinder} defined on the resource.
+ * Static files are found by using the {@link ResourceFinder} defined on the resource.
*
* <p>
* In the example above, given a GET request to <l>/myresource/htdocs/foobar.html</l>, the servlet will attempt to find
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
index 27795c0..82bfa40 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
@@ -28,10 +28,10 @@ class StaticFiles {
private final String path, location;
private final Map<String,Object> responseHeaders;
- private final ClasspathResourceManager staticResourceManager;
+ private final ResourceManager staticResourceManager;
private final MimetypesFileTypeMap mimetypesFileTypeMap;
- StaticFiles(StaticFileMapping sfm, ClasspathResourceManager staticResourceManager, MimetypesFileTypeMap mimetypesFileTypeMap, Map<String,Object> staticFileResponseHeaders) {
+ StaticFiles(StaticFileMapping sfm, ResourceManager staticResourceManager, MimetypesFileTypeMap mimetypesFileTypeMap, Map<String,Object> staticFileResponseHeaders) {
this.resourceClass = sfm.resourceClass;
this.path = sfm.path;
this.location = sfm.location;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
index ec6cc14..595b3b7 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
@@ -26,6 +26,7 @@ import org.apache.juneau.jsonschema.annotation.SubItems;
import org.apache.juneau.jsonschema.annotation.Items;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.http.*;
import org.apache.juneau.http.annotation.*;
@@ -47,7 +48,6 @@ import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.util.RestUtils;
import org.apache.juneau.serializer.*;
import org.apache.juneau.svl.*;
-import org.apache.juneau.utils.*;
/**
* Default implementation of {@link RestInfoProvider}.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HookEvent.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HookEvent.java
index 86fd502..4c695e9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HookEvent.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HookEvent.java
@@ -21,11 +21,11 @@ import javax.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
+import org.apache.juneau.cp.MessageBundle;
import org.apache.juneau.dto.swagger.*;
import org.apache.juneau.http.header.*;
import org.apache.juneau.http.exception.*;
import org.apache.juneau.rest.*;
-import org.apache.juneau.utils.*;
/**
* Identifies servlet and REST call lifecycle events which cause {@link RestHook @RestHook}-annotated Java methods
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 2901334..96a72be 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -213,13 +213,13 @@ public @interface Rest {
*
* <ul class='notes'>
* <li>
- * The default resource finder if not specified is {@link BasicClasspathResourceFinder}.
+ * The default resource finder if not specified is {@link BasicResourceFinder}.
* <li>
- * The resource class itself will be used if it implements the {@link ClasspathResourceFinder} interface and not
+ * The resource class itself will be used if it implements the {@link ResourceFinder} interface and not
* explicitly overridden via this annotation.
* <li>
- * The {@link RestServlet} and {@link BasicRest} classes implement the {@link ClasspathResourceFinder} interface with the same
- * functionality as {@link BasicClasspathResourceFinder} that gets used if not overridden by this annotation.
+ * The {@link RestServlet} and {@link BasicRest} classes implement the {@link ResourceFinder} interface with the same
+ * functionality as {@link BasicResourceFinder} that gets used if not overridden by this annotation.
* <br>Subclasses can also alter the behavior by overriding this method.
* <li>
* The implementation must have one of the following constructors:
@@ -237,7 +237,7 @@ public @interface Rest {
* <li class='jf'>{@link RestContext#REST_classpathResourceFinder}
* </ul>
*/
- Class<? extends ClasspathResourceFinder> classpathResourceFinder() default ClasspathResourceFinder.Null.class;
+ Class<? extends ResourceFinder> classpathResourceFinder() default ResourceFinder.Null.class;
/**
* Client version header.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
index dffced0..9b592a9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
@@ -195,7 +195,7 @@ public class RestConfigApply extends ConfigApply<Rest> {
if (! a.useClasspathResourceCaching().isEmpty())
psb.set(REST_useClasspathResourceCaching, bool(a.useClasspathResourceCaching()));
- if (a.classpathResourceFinder() != ClasspathResourceFinder.Null.class)
+ if (a.classpathResourceFinder() != ResourceFinder.Null.class)
psb.set(REST_classpathResourceFinder, a.classpathResourceFinder());
if (! a.path().isEmpty())
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
index 70a04db..6a56473 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
@@ -26,10 +26,10 @@ import org.apache.juneau.svl.*;
* <p>
* File variables resolve to the contents of resource files located on the classpath or local JVM directory.
* They use the {@link RestRequest#getClasspathResourceAsString(String)} method to retrieve the contents of the file.
- * That in turn uses the {@link ClasspathResourceFinder} associated with the servlet class to find the file.
+ * That in turn uses the {@link ResourceFinder} associated with the servlet class to find the file.
*
* <p>
- * The {@link ClasspathResourceFinder} is similar to {@link Class#getResourceAsStream(String)} except if it doesn't find the
+ * The {@link ResourceFinder} is similar to {@link Class#getResourceAsStream(String)} except if it doesn't find the
* resource on this class, it searches up the parent hierarchy chain.
*
* <p>
@@ -95,7 +95,7 @@ public class FileVar extends DefaultingVar {
return s;
}
- ClasspathResourceManager crm = session.getSessionObject(ClasspathResourceManager.class, SESSION_crm, false);
+ ResourceManager crm = session.getSessionObject(ResourceManager.class, SESSION_crm, false);
if (crm != null)
return crm.getString(key);
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
index 157d24c..d833b3b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
@@ -39,7 +39,7 @@ import org.apache.juneau.html.*;
*/
public abstract class Widget implements HtmlWidget {
- private final ClasspathResourceManager rm = new ClasspathResourceManager(getClass(), RecursiveClasspathResourceFinder.INSTANCE, false);
+ private final ResourceManager rm = new ResourceManager(getClass(), RecursiveResourceFinder.INSTANCE, false);
private static final String SESSION_req = "req";
private static final String SESSION_res = "res";