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/05/14 18:13:25 UTC
[juneau] branch master updated: RestClient improvements.
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 b640144 RestClient improvements.
b640144 is described below
commit b6401446d6d304b979210070d4534f8c8372f9b8
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Thu May 14 14:12:59 2020 -0400
RestClient improvements.
---
.../org/apache/juneau/jena/RdfParserBuilder.java | 8 +-
.../apache/juneau/jena/RdfSerializerBuilder.java | 8 +-
.../src/main/java/org/apache/juneau}/AddFlag.java | 2 +-
.../java/org/apache/juneau/BeanContextBuilder.java | 24 +-
.../org/apache/juneau/BeanTraverseBuilder.java | 8 +-
.../java/org/apache/juneau/ContextBuilder.java | 4 +
.../main/java/org/apache/juneau/DetailLevel.java | 77 +-
.../org/apache/juneau/csv/CsvParserBuilder.java | 8 +-
.../apache/juneau/csv/CsvSerializerBuilder.java | 8 +-
.../juneau/html/HtmlDocSerializerBuilder.java | 8 +-
.../org/apache/juneau/html/HtmlParserBuilder.java | 8 +-
.../juneau/html/HtmlSchemaSerializerBuilder.java | 8 +-
.../apache/juneau/html/HtmlSerializerBuilder.java | 8 +-
.../html/HtmlStrippedDocSerializerBuilder.java | 8 +-
.../juneau/http/exception/HttpException.java | 4 +
.../apache/juneau/http/response/HttpResponse.java | 4 +
.../juneau/internal/ConfigurationProperty.java | 3 +
.../org/apache/juneau/jso/JsoParserBuilder.java | 8 +-
.../apache/juneau/jso/JsoSerializerBuilder.java | 8 +-
.../org/apache/juneau/json/JsonParserBuilder.java | 8 +-
.../juneau/json/JsonSchemaSerializerBuilder.java | 954 ++++++++-------
.../apache/juneau/json/JsonSerializerBuilder.java | 8 +-
.../juneau/json/SimpleJsonParserBuilder.java | 8 +-
.../juneau/json/SimpleJsonSerializerBuilder.java | 8 +-
.../jsonschema/JsonSchemaGeneratorBuilder.java | 8 +-
.../juneau/msgpack/MsgPackParserBuilder.java | 8 +-
.../juneau/msgpack/MsgPackSerializerBuilder.java | 8 +-
.../apache/juneau/oapi/OpenApiParserBuilder.java | 8 +-
.../juneau/oapi/OpenApiSerializerBuilder.java | 8 +-
.../juneau/parser/InputStreamParserBuilder.java | 8 +-
.../org/apache/juneau/parser/ParserBuilder.java | 8 +-
.../apache/juneau/parser/ParserGroupBuilder.java | 8 +-
.../apache/juneau/parser/ReaderParserBuilder.java | 8 +-
.../juneau/plaintext/PlainTextParserBuilder.java | 8 +-
.../plaintext/PlainTextSerializerBuilder.java | 8 +-
.../serializer/OutputStreamSerializerBuilder.java | 8 +-
.../juneau/serializer/SerializerBuilder.java | 8 +-
.../juneau/serializer/SerializerGroupBuilder.java | 8 +-
.../juneau/serializer/WriterSerializerBuilder.java | 8 +-
.../juneau/soap/SoapXmlSerializerBuilder.java | 8 +-
.../org/apache/juneau/uon/UonParserBuilder.java | 8 +-
.../apache/juneau/uon/UonSerializerBuilder.java | 8 +-
.../urlencoding/UrlEncodingParserBuilder.java | 8 +-
.../urlencoding/UrlEncodingSerializerBuilder.java | 8 +-
.../org/apache/juneau/xml/XmlParserBuilder.java | 8 +-
.../apache/juneau/xml/XmlSerializerBuilder.java | 8 +-
.../xmlschema/XmlSchemaSerializerBuilder.java | 8 +-
juneau-doc/src/main/javadoc/overview.html | 529 +++++++--
juneau-doc/src/main/javadoc/resources/docs.txt | 2 +-
.../src/main/javadoc/resources/fragments/toc.html | 6 +-
.../src/main/javadoc/resources/juneau-doc.css | 4 +
.../apache/juneau/rest/test/TestMicroservice.java | 3 +-
.../apache/juneau/rest/client2/RestClientTest.java | 53 +-
.../apache/juneau/rest/client/RestCallLogger.java | 2 -
.../juneau/rest/client/RestClientBuilder.java | 12 +-
.../org/apache/juneau/rest/client2/RestClient.java | 231 +++-
.../juneau/rest/client2/RestClientBuilder.java | 1223 +++++++++++++++++---
.../juneau/rest/client2/RestClientUtils.java | 3 +-
.../apache/juneau/rest/client2/RestRequest.java | 37 +-
.../apache/juneau/rest/client2/RestResponse.java | 42 +
.../juneau/rest/client2/RestResponseBody.java | 5 +-
.../rest/client2/logging/BasicRestCallLogger.java | 62 -
.../rest/client2/logging/RestCallLogger.java | 116 --
.../juneau/rest/client2/logging/package-info.java | 18 -
.../org/apache/juneau/rest/mock2/MockRemote.java | 2 +-
.../apache/juneau/rest/mock2/MockRestClient.java | 63 +-
.../org/apache/juneau/rest/RestContextBuilder.java | 8 +-
.../juneau/rest/RestMethodContextBuilder.java | 687 +++++++++++
68 files changed, 3315 insertions(+), 1177 deletions(-)
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
index 4d2aaa6..848b359 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
@@ -1003,7 +1003,7 @@ public class RdfParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfParserBuilder bpi(Map<String,String> values) {
+ public RdfParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -1021,7 +1021,7 @@ public class RdfParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfParserBuilder bpro(Map<String,String> values) {
+ public RdfParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -1039,7 +1039,7 @@ public class RdfParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfParserBuilder bpwo(Map<String,String> values) {
+ public RdfParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -1057,7 +1057,7 @@ public class RdfParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfParserBuilder bpx(Map<String,String> values) {
+ public RdfParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
index 8269c9c..8e6fb61 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
@@ -1163,7 +1163,7 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfSerializerBuilder bpi(Map<String,String> values) {
+ public RdfSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -1181,7 +1181,7 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfSerializerBuilder bpro(Map<String,String> values) {
+ public RdfSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -1199,7 +1199,7 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfSerializerBuilder bpwo(Map<String,String> values) {
+ public RdfSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -1217,7 +1217,7 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RdfSerializerBuilder bpx(Map<String,String> values) {
+ public RdfSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/AddFlag.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AddFlag.java
similarity index 98%
rename from juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/AddFlag.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AddFlag.java
index 9695e70..cbc4444 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/AddFlag.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AddFlag.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.rest.client2;
+package org.apache.juneau;
import java.util.*;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index 29c5f85..fae1f0b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -748,9 +748,9 @@ public class BeanContextBuilder extends ContextBuilder {
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public BeanContextBuilder bpi(Map<String,String> values) {
- for (Map.Entry<String,String> e : values.entrySet())
- psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpi(e.getValue()));
+ public BeanContextBuilder bpi(Map<String,Object> values) {
+ for (Map.Entry<String,Object> e : values.entrySet())
+ psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpi(asString(e.getValue())));
return this;
}
@@ -812,9 +812,9 @@ public class BeanContextBuilder extends ContextBuilder {
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public BeanContextBuilder bpx(Map<String,String> values) {
- for (Map.Entry<String,String> e : values.entrySet())
- psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpx(e.getValue()));
+ public BeanContextBuilder bpx(Map<String,Object> values) {
+ for (Map.Entry<String,Object> e : values.entrySet())
+ psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpx(asString(e.getValue())));
return this;
}
@@ -873,9 +873,9 @@ public class BeanContextBuilder extends ContextBuilder {
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public BeanContextBuilder bpro(Map<String,String> values) {
- for (Map.Entry<String,String> e : values.entrySet())
- psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpro(e.getValue()));
+ public BeanContextBuilder bpro(Map<String,Object> values) {
+ for (Map.Entry<String,Object> e : values.entrySet())
+ psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpro(asString(e.getValue())));
return this;
}
@@ -937,9 +937,9 @@ public class BeanContextBuilder extends ContextBuilder {
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public BeanContextBuilder bpwo(Map<String,String> values) {
- for (Map.Entry<String,String> e : values.entrySet())
- psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpwo(e.getValue()));
+ public BeanContextBuilder bpwo(Map<String,Object> values) {
+ for (Map.Entry<String,Object> e : values.entrySet())
+ psb.prependTo(BEAN_annotations, new BeanAnnotation(e.getKey()).bpwo(asString(e.getValue())));
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
index 7dbac99..ad496ea 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
@@ -507,7 +507,7 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public BeanTraverseBuilder bpi(Map<String,String> values) {
+ public BeanTraverseBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -525,7 +525,7 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public BeanTraverseBuilder bpro(Map<String,String> values) {
+ public BeanTraverseBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -543,7 +543,7 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public BeanTraverseBuilder bpwo(Map<String,String> values) {
+ public BeanTraverseBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -561,7 +561,7 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public BeanTraverseBuilder bpx(Map<String,String> values) {
+ public BeanTraverseBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
index c69a5be..82336a5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
@@ -378,4 +378,8 @@ public abstract class ContextBuilder {
psb.removeFrom(name, value);
return this;
}
+
+ // <CONFIGURATION-PROPERTIES>
+
+ // </CONFIGURATION-PROPERTIES>
}
\ No newline at end of file
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/ConsoleRestCallLogger.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DetailLevel.java
similarity index 61%
rename from juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/ConsoleRestCallLogger.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DetailLevel.java
index 18adc37..f9f3cb7 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/ConsoleRestCallLogger.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DetailLevel.java
@@ -1,49 +1,28 @@
-// ***************************************************************************************************************************
-// * 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.rest.client2.logging;
-
-import org.apache.juneau.rest.client2.*;
-
-/**
- * Specialized interceptor for logging calls to the console.
- *
- * <p>
- * Causes a log entry to be created in the console that shows all the request and response headers and content at the end of the
- * request.
- */
-public class ConsoleRestCallLogger extends RestCallLogger {
-
- /**
- * Default HTTP request logger.
- * <p>
- * Logs outgoing HTTP requests to the <c>org.apache.juneau.rest.client</c> logger at <jsf>WARNING</jsf> level.
- */
- public static final ConsoleRestCallLogger DEFAULT = new ConsoleRestCallLogger();
-
- /**
- * Constructor.
- */
- public ConsoleRestCallLogger() {}
-
- @Override
- public boolean shouldLog(RestRequest req, RestResponse res) {
- return true;
- }
-
- @Override
- public void log(Throwable t, String msg) {
- System.err.println(msg);
- if (t != null)
- t.printStackTrace(System.err);
- }
-}
+// ***************************************************************************************************************************
+// * 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;
+
+/**
+ * Identifies an arbitrary detail level such as the detail of log messages.
+ */
+public enum DetailLevel {
+
+ /** Nothing at all. */
+ NONE,
+
+ /** Simple only. */
+ SIMPLE,
+
+ /** Full detailed. */
+ FULL
+}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index 1a6bbe3..e1d3590 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -284,7 +284,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvParserBuilder bpi(Map<String,String> values) {
+ public CsvParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -302,7 +302,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvParserBuilder bpro(Map<String,String> values) {
+ public CsvParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -320,7 +320,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvParserBuilder bpwo(Map<String,String> values) {
+ public CsvParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -338,7 +338,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvParserBuilder bpx(Map<String,String> values) {
+ public CsvParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index 4ef0cb5..75092c1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -284,7 +284,7 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvSerializerBuilder bpi(Map<String,String> values) {
+ public CsvSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -302,7 +302,7 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvSerializerBuilder bpro(Map<String,String> values) {
+ public CsvSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -320,7 +320,7 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvSerializerBuilder bpwo(Map<String,String> values) {
+ public CsvSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -338,7 +338,7 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public CsvSerializerBuilder bpx(Map<String,String> values) {
+ public CsvSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
index bf26bf0..2fa6fe8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
@@ -810,7 +810,7 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlDocSerializerBuilder bpi(Map<String,String> values) {
+ public HtmlDocSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -828,7 +828,7 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlDocSerializerBuilder bpro(Map<String,String> values) {
+ public HtmlDocSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -846,7 +846,7 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlDocSerializerBuilder bpwo(Map<String,String> values) {
+ public HtmlDocSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -864,7 +864,7 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlDocSerializerBuilder bpx(Map<String,String> values) {
+ public HtmlDocSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index dbb7ba9..29d6a79 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -287,7 +287,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlParserBuilder bpi(Map<String,String> values) {
+ public HtmlParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -305,7 +305,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlParserBuilder bpro(Map<String,String> values) {
+ public HtmlParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -323,7 +323,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlParserBuilder bpwo(Map<String,String> values) {
+ public HtmlParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -341,7 +341,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlParserBuilder bpx(Map<String,String> values) {
+ public HtmlParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index 38a2c6f..222cef4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -525,7 +525,7 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSchemaSerializerBuilder bpi(Map<String,String> values) {
+ public HtmlSchemaSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -543,7 +543,7 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSchemaSerializerBuilder bpro(Map<String,String> values) {
+ public HtmlSchemaSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -561,7 +561,7 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSchemaSerializerBuilder bpwo(Map<String,String> values) {
+ public HtmlSchemaSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -579,7 +579,7 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSchemaSerializerBuilder bpx(Map<String,String> values) {
+ public HtmlSchemaSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index ac79466..45b32d3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -458,7 +458,7 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSerializerBuilder bpi(Map<String,String> values) {
+ public HtmlSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -476,7 +476,7 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSerializerBuilder bpro(Map<String,String> values) {
+ public HtmlSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -494,7 +494,7 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSerializerBuilder bpwo(Map<String,String> values) {
+ public HtmlSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -512,7 +512,7 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlSerializerBuilder bpx(Map<String,String> values) {
+ public HtmlSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
index 9ab1325..ec4bc5c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
@@ -284,7 +284,7 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlStrippedDocSerializerBuilder bpi(Map<String,String> values) {
+ public HtmlStrippedDocSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -302,7 +302,7 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlStrippedDocSerializerBuilder bpro(Map<String,String> values) {
+ public HtmlStrippedDocSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -320,7 +320,7 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlStrippedDocSerializerBuilder bpwo(Map<String,String> values) {
+ public HtmlStrippedDocSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -338,7 +338,7 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public HtmlStrippedDocSerializerBuilder bpx(Map<String,String> values) {
+ public HtmlStrippedDocSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/exception/HttpException.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/exception/HttpException.java
index 9f2ae84..53c86cd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/exception/HttpException.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/exception/HttpException.java
@@ -202,4 +202,8 @@ public class HttpException extends RuntimeException {
public String toString() {
return emptyIfNull(getLocalizedMessage());
}
+
+ // <CONFIGURATION-PROPERTIES>
+
+ // </CONFIGURATION-PROPERTIES>
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpResponse.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpResponse.java
index 652a75e..4a3aea1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpResponse.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpResponse.java
@@ -69,4 +69,8 @@ public abstract class HttpResponse {
public String toString() {
return message;
}
+
+ // <CONFIGURATION-PROPERTIES>
+
+ // </CONFIGURATION-PROPERTIES>
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConfigurationProperty.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConfigurationProperty.java
index 6264473..46fa04a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConfigurationProperty.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConfigurationProperty.java
@@ -19,6 +19,9 @@ import java.lang.annotation.*;
/**
* Identifies a method as a configurable property setter.
+ *
+ * Used in conjunction with the ConfigurablePropertyCodeGenerator class to synchronize and copy fluent setters from
+ * parent classes to child classes.
*/
@Target(METHOD)
@Retention(RUNTIME)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index a5c8a87..35ec2e7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -283,7 +283,7 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoParserBuilder bpi(Map<String,String> values) {
+ public JsoParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoParserBuilder bpro(Map<String,String> values) {
+ public JsoParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoParserBuilder bpwo(Map<String,String> values) {
+ public JsoParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoParserBuilder bpx(Map<String,String> values) {
+ public JsoParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index fb2007e..629df6e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -283,7 +283,7 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoSerializerBuilder bpi(Map<String,String> values) {
+ public JsoSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoSerializerBuilder bpro(Map<String,String> values) {
+ public JsoSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoSerializerBuilder bpwo(Map<String,String> values) {
+ public JsoSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsoSerializerBuilder bpx(Map<String,String> values) {
+ public JsoSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index 9548d9c..65be526 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -325,7 +325,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonParserBuilder bpi(Map<String,String> values) {
+ public JsonParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -343,7 +343,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonParserBuilder bpro(Map<String,String> values) {
+ public JsonParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -361,7 +361,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonParserBuilder bpwo(Map<String,String> values) {
+ public JsonParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -379,7 +379,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonParserBuilder bpx(Map<String,String> values) {
+ public JsonParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 36d5317..d71db9b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -25,7 +25,6 @@ import org.apache.juneau.collections.*;
import org.apache.juneau.http.*;
import org.apache.juneau.jsonschema.*;
import org.apache.juneau.reflect.*;
-import org.apache.juneau.serializer.*;
import org.apache.juneau.svl.*;
/**
@@ -282,800 +281,949 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
return set(JSONSCHEMA_useBeanDefs, true);
}
- @Override /* JsonSerializerBuilder */
- public JsonSchemaSerializerBuilder escapeSolidus(boolean value) {
- super.escapeSolidus(value);
+ // <CONFIGURATION-PROPERTIES>
+
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder add(Map<String,Object> properties) {
+ super.add(properties);
return this;
}
- @Override /* JsonSerializerBuilder */
- public JsonSchemaSerializerBuilder escapeSolidus() {
- super.escapeSolidus();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
return this;
}
- @Override /* JsonSerializerBuilder */
- public JsonSchemaSerializerBuilder simple(boolean value) {
- super.simple(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder appendTo(String name, Object value) {
+ super.appendTo(name, value);
return this;
}
- @Override /* JsonSerializerBuilder */
- public JsonSchemaSerializerBuilder simple() {
- super.simple();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder apply(PropertyStore copyFrom) {
+ super.apply(copyFrom);
return this;
}
- @Override /* JsonSerializerBuilder */
- public JsonSchemaSerializerBuilder ssq() {
- super.ssq();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder applyAnnotations(java.lang.Class<?>...fromClasses) {
+ super.applyAnnotations(fromClasses);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder fileCharset(Charset value) {
- super.fileCharset(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder applyAnnotations(Method...fromMethods) {
+ super.applyAnnotations(fromMethods);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder maxIndent(int value) {
- super.maxIndent(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder applyAnnotations(AnnotationList al, VarResolverSession r) {
+ super.applyAnnotations(al, r);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder quoteChar(char value) {
- super.quoteChar(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder prependTo(String name, Object value) {
+ super.prependTo(name, value);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder sq() {
- super.sq();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder putAllTo(String name, Object value) {
+ super.putAllTo(name, value);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder streamCharset(Charset value) {
- super.streamCharset(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder putTo(String name, String key, Object value) {
+ super.putTo(name, key, value);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder useWhitespace(boolean value) {
- super.useWhitespace(value);
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder useWhitespace() {
- super.useWhitespace();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder set(Map<String,Object> properties) {
+ super.set(properties);
return this;
}
- @Override /* WriterSerializerBuilder */
- public JsonSchemaSerializerBuilder ws() {
- super.ws();
+ @Override /* GENERATED - ContextBuilder */
+ public JsonSchemaSerializerBuilder set(String name, Object value) {
+ super.set(name, value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder addBeanTypes(boolean value) {
- super.addBeanTypes(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder annotations(Annotation...values) {
+ super.annotations(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder addBeanTypes() {
- super.addBeanTypes();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanClassVisibility(Visibility value) {
+ super.beanClassVisibility(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder addRootType(boolean value) {
- super.addRootType(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanConstructorVisibility(Visibility value) {
+ super.beanConstructorVisibility(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder addRootType() {
- super.addRootType();
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionary(java.lang.Class<?>...values) {
+ super.beanDictionary(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder detectRecursions(boolean value) {
- super.detectRecursions(value);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionary(Object...values) {
+ super.beanDictionary(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder detectRecursions() {
- super.detectRecursions();
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionaryRemove(java.lang.Class<?>...values) {
+ super.beanDictionaryRemove(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder ignoreRecursions(boolean value) {
- super.ignoreRecursions(value);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionaryRemove(Object...values) {
+ super.beanDictionaryRemove(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder ignoreRecursions() {
- super.ignoreRecursions();
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionaryReplace(java.lang.Class<?>...values) {
+ super.beanDictionaryReplace(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder initialDepth(int value) {
- super.initialDepth(value);
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanDictionaryReplace(Object...values) {
+ super.beanDictionaryReplace(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder listener(Class<? extends SerializerListener> value) {
- super.listener(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanFieldVisibility(Visibility value) {
+ super.beanFieldVisibility(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder maxDepth(int value) {
- super.maxDepth(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanFilters(Object...values) {
+ super.beanFilters(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder sortCollections(boolean value) {
- super.sortCollections(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanFiltersRemove(Object...values) {
+ super.beanFiltersRemove(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder sortCollections() {
- super.sortCollections();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanFiltersReplace(Object...values) {
+ super.beanFiltersReplace(values);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder sortMaps(boolean value) {
- super.sortMaps(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue() {
+ super.beanMapPutReturnsOldValue();
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder sortMaps() {
- super.sortMaps();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
+ super.beanMapPutReturnsOldValue(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimEmptyCollections(boolean value) {
- super.trimEmptyCollections(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanMethodVisibility(Visibility value) {
+ super.beanMethodVisibility(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimEmptyCollections() {
- super.trimEmptyCollections();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beanTypePropertyName(String value) {
+ super.beanTypePropertyName(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimEmptyMaps(boolean value) {
- super.trimEmptyMaps(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansDontRequireSomeProperties() {
+ super.beansDontRequireSomeProperties();
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimEmptyMaps() {
- super.trimEmptyMaps();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireDefaultConstructor() {
+ super.beansRequireDefaultConstructor();
return this;
}
- @Deprecated @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimNullProperties(boolean value) {
- super.trimNullProperties(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireDefaultConstructor(boolean value) {
+ super.beansRequireDefaultConstructor(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimStrings(boolean value) {
- super.trimStrings(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireSerializable() {
+ super.beansRequireSerializable();
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder trimStrings() {
- super.trimStrings();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireSerializable(boolean value) {
+ super.beansRequireSerializable(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder uriContext(UriContext value) {
- super.uriContext(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireSettersForGetters() {
+ super.beansRequireSettersForGetters();
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder uriRelativity(UriRelativity value) {
- super.uriRelativity(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireSettersForGetters(boolean value) {
+ super.beansRequireSettersForGetters(value);
return this;
}
- @Override /* SerializerBuilder */
- public JsonSchemaSerializerBuilder uriResolution(UriResolution value) {
- super.uriResolution(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder beansRequireSomeProperties(boolean value) {
+ super.beansRequireSomeProperties(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder annotations(Annotation...values) {
- super.annotations(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpi(Map<String,Object> values) {
+ super.bpi(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanClassVisibility(Visibility value) {
- super.beanClassVisibility(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpi(Class<?> beanClass, String properties) {
+ super.bpi(beanClass, properties);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanConstructorVisibility(Visibility value) {
- super.beanConstructorVisibility(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpi(String beanClassName, String properties) {
+ super.bpi(beanClassName, properties);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionary(Class<?>...values) {
- super.beanDictionary(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpro(Map<String,Object> values) {
+ super.bpro(values);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionary(Object...values) {
- super.beanDictionary(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpro(Class<?> beanClass, String properties) {
+ super.bpro(beanClass, properties);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionaryReplace(Class<?>...values) {
- super.beanDictionaryReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpro(String beanClassName, String properties) {
+ super.bpro(beanClassName, properties);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionaryReplace(Object...values) {
- super.beanDictionaryReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpwo(Map<String,Object> values) {
+ super.bpwo(values);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionaryRemove(Class<?>...values) {
- super.beanDictionaryRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpwo(Class<?> beanClass, String properties) {
+ super.bpwo(beanClass, properties);
return this;
}
- @Override /* BeanContextBuilder */
- @Deprecated
- public JsonSchemaSerializerBuilder beanDictionaryRemove(Object...values) {
- super.beanDictionaryRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpwo(String beanClassName, String properties) {
+ super.bpwo(beanClassName, properties);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanFieldVisibility(Visibility value) {
- super.beanFieldVisibility(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpx(Map<String,Object> values) {
+ super.bpx(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanFilters(Object...values) {
- super.beanFilters(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpx(Class<?> beanClass, String properties) {
+ super.bpx(beanClass, properties);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanFiltersReplace(Object...values) {
- super.beanFiltersReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder bpx(String beanClassName, String properties) {
+ super.bpx(beanClassName, properties);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanFiltersRemove(Object...values) {
- super.beanFiltersRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder debug() {
+ super.debug();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
- super.beanMapPutReturnsOldValue(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder debug(boolean value) {
+ super.debug(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue() {
- super.beanMapPutReturnsOldValue();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionary(java.lang.Class<?>...values) {
+ super.dictionary(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanMethodVisibility(Visibility value) {
- super.beanMethodVisibility(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionary(Object...values) {
+ super.dictionary(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireDefaultConstructor(boolean value) {
- super.beansRequireDefaultConstructor(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionaryRemove(java.lang.Class<?>...values) {
+ super.dictionaryRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireDefaultConstructor() {
- super.beansRequireDefaultConstructor();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionaryRemove(Object...values) {
+ super.dictionaryRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireSerializable(boolean value) {
- super.beansRequireSerializable(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionaryReplace(java.lang.Class<?>...values) {
+ super.dictionaryReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireSerializable() {
- super.beansRequireSerializable();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dictionaryReplace(Object...values) {
+ super.dictionaryReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireSettersForGetters(boolean value) {
- super.beansRequireSettersForGetters(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dontIgnorePropertiesWithoutSetters() {
+ super.dontIgnorePropertiesWithoutSetters();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireSettersForGetters() {
- super.beansRequireSettersForGetters();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dontIgnoreTransientFields() {
+ super.dontIgnoreTransientFields();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beansRequireSomeProperties(boolean value) {
- super.beansRequireSomeProperties(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dontIgnoreUnknownNullBeanProperties() {
+ super.dontIgnoreUnknownNullBeanProperties();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder beanTypePropertyName(String value) {
- super.beanTypePropertyName(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder dontUseInterfaceProxies() {
+ super.dontUseInterfaceProxies();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpi(Class<?> beanClass, String value) {
- super.bpi(beanClass, value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public <T> JsonSchemaSerializerBuilder example(Class<T> pojoClass, T o) {
+ super.example(pojoClass, o);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpi(Map<String,String> values) {
- super.bpi(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public <T> JsonSchemaSerializerBuilder exampleJson(Class<T> pojoClass, String json) {
+ super.exampleJson(pojoClass, json);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpi(String beanClassName, String value) {
- super.bpi(beanClassName, value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder examples(String json) {
+ super.examples(json);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpx(Class<?> beanClass, String properties) {
- super.bpx(beanClass, properties);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder excludeProperties(Map<String,String> values) {
+ super.excludeProperties(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpx(Map<String,String> values) {
- super.bpx(values);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder excludeProperties(Class<?> beanClass, String properties) {
+ super.excludeProperties(beanClass, properties);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpx(String beanClassName, String value) {
- super.bpx(beanClassName, value);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder excludeProperties(String beanClassName, String value) {
+ super.excludeProperties(beanClassName, value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpro(Class<?> beanClass, String value) {
- super.bpro(beanClass, value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder fluentSetters() {
+ super.fluentSetters();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpro(Map<String,String> values) {
- super.bpro(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder fluentSetters(boolean value) {
+ super.fluentSetters(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpro(String beanClassName, String value) {
- super.bpro(beanClassName, value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+ super.ignoreInvocationExceptionsOnGetters();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpwo(Class<?> beanClass, String properties) {
- super.bpwo(beanClass, properties);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
+ super.ignoreInvocationExceptionsOnGetters(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpwo(Map<String,String> values) {
- super.bpwo(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+ super.ignoreInvocationExceptionsOnSetters();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder bpwo(String beanClassName, String value) {
- super.bpwo(beanClassName, value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
+ super.ignoreInvocationExceptionsOnSetters(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder debug() {
- super.debug();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
+ super.ignorePropertiesWithoutSetters(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionary(Class<?>...values) {
- super.dictionary(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreTransientFields(boolean value) {
+ super.ignoreTransientFields(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionary(Object...values) {
- super.dictionary(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties() {
+ super.ignoreUnknownBeanProperties();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionaryReplace(Class<?>...values) {
- super.dictionaryReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
+ super.ignoreUnknownBeanProperties(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionaryReplace(Object...values) {
- super.dictionaryReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
+ super.ignoreUnknownNullBeanProperties(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionaryRemove(Class<?>...values) {
- super.dictionaryRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
+ super.implClass(interfaceClass, implClass);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder dictionaryRemove(Object...values) {
- super.dictionaryRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder implClasses(Map<String,Class<?>> values) {
+ super.implClasses(values);
return this;
}
- @Override /* BeanContextBuilder */
- public <T> JsonSchemaSerializerBuilder example(Class<T> c, T o) {
- super.example(c, o);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder includeProperties(Map<String,String> values) {
+ super.includeProperties(values);
return this;
}
- @Override /* BeanContextBuilder */
- public <T> JsonSchemaSerializerBuilder exampleJson(Class<T> c, String value) {
- super.exampleJson(c, value);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder includeProperties(Class<?> beanClass, String value) {
+ super.includeProperties(beanClass, value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
- super.ignoreInvocationExceptionsOnGetters(value);
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder includeProperties(String beanClassName, String value) {
+ super.includeProperties(beanClassName, value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters() {
- super.ignoreInvocationExceptionsOnGetters();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder locale(Locale value) {
+ super.locale(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
- super.ignoreInvocationExceptionsOnSetters(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder mediaType(MediaType value) {
+ super.mediaType(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters() {
- super.ignoreInvocationExceptionsOnSetters();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClasses(java.lang.Class<?>...values) {
+ super.notBeanClasses(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
- super.ignorePropertiesWithoutSetters(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClasses(Object...values) {
+ super.notBeanClasses(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreTransientFields(boolean value) {
- super.ignoreTransientFields(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClassesRemove(java.lang.Class<?>...values) {
+ super.notBeanClassesRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
- super.ignoreUnknownBeanProperties(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClassesRemove(Object...values) {
+ super.notBeanClassesRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties() {
- super.ignoreUnknownBeanProperties();
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClassesReplace(java.lang.Class<?>...values) {
+ super.notBeanClassesReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
- super.ignoreUnknownNullBeanProperties(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanClassesReplace(Object...values) {
+ super.notBeanClassesReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
- super.implClass(interfaceClass, implClass);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackages(Object...values) {
+ super.notBeanPackages(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder implClasses(Map<String,Class<?>> values) {
- super.implClasses(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackages(String...values) {
+ super.notBeanPackages(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder locale(Locale value) {
- super.locale(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackagesRemove(Object...values) {
+ super.notBeanPackagesRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder mediaType(MediaType value) {
- super.mediaType(value);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackagesRemove(String...values) {
+ super.notBeanPackagesRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClasses(Class<?>...values) {
- super.notBeanClasses(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackagesReplace(Object...values) {
+ super.notBeanPackagesReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClasses(Object...values) {
- super.notBeanClasses(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder notBeanPackagesReplace(String...values) {
+ super.notBeanPackagesReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClassesReplace(Class<?>...values) {
- super.notBeanClassesReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwaps(java.lang.Class<?>...values) {
+ super.pojoSwaps(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClassesReplace(Object...values) {
- super.notBeanClassesReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwaps(Object...values) {
+ super.pojoSwaps(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClassesRemove(Class<?>...values) {
- super.notBeanClassesRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwapsRemove(java.lang.Class<?>...values) {
+ super.pojoSwapsRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanClassesRemove(Object...values) {
- super.notBeanClassesRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
+ super.pojoSwapsRemove(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackages(Object...values) {
- super.notBeanPackages(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwapsReplace(java.lang.Class<?>...values) {
+ super.pojoSwapsReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackages(String...values) {
- super.notBeanPackages(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder pojoSwapsReplace(Object...values) {
+ super.pojoSwapsReplace(values);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackagesReplace(String...values) {
- super.notBeanPackagesReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+ super.propertyNamer(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackagesReplace(Object...values) {
- super.notBeanPackagesReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder sortProperties() {
+ super.sortProperties();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackagesRemove(String...values) {
- super.notBeanPackagesRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder sortProperties(boolean value) {
+ super.sortProperties(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder notBeanPackagesRemove(Object...values) {
- super.notBeanPackagesRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder timeZone(TimeZone value) {
+ super.timeZone(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwaps(Class<?>...values) {
- super.pojoSwaps(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder useEnumNames() {
+ super.useEnumNames();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwaps(Object...values) {
- super.pojoSwaps(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder useEnumNames(boolean value) {
+ super.useEnumNames(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwapsReplace(Class<?>...values) {
- super.pojoSwapsReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder useInterfaceProxies(boolean value) {
+ super.useInterfaceProxies(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwapsReplace(Object...values) {
- super.pojoSwapsReplace(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder useJavaBeanIntrospector() {
+ super.useJavaBeanIntrospector();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwapsRemove(Class<?>...values) {
- super.pojoSwapsRemove(values);
+ @Override /* GENERATED - BeanContextBuilder */
+ public JsonSchemaSerializerBuilder useJavaBeanIntrospector(boolean value) {
+ super.useJavaBeanIntrospector(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
- super.pojoSwapsRemove(values);
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder detectRecursions() {
+ super.detectRecursions();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder sortProperties(boolean value) {
- super.sortProperties(value);
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder detectRecursions(boolean value) {
+ super.detectRecursions(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder sortProperties() {
- super.sortProperties();
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder ignoreRecursions() {
+ super.ignoreRecursions();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder timeZone(TimeZone value) {
- super.timeZone(value);
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder ignoreRecursions(boolean value) {
+ super.ignoreRecursions(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder useEnumNames(boolean value) {
- super.useEnumNames(value);
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder initialDepth(int value) {
+ super.initialDepth(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder useEnumNames() {
- super.useEnumNames();
+ @Override /* GENERATED - BeanTraverseBuilder */
+ public JsonSchemaSerializerBuilder maxDepth(int value) {
+ super.maxDepth(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder useInterfaceProxies(boolean value) {
- super.useInterfaceProxies(value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder addBeanTypes() {
+ super.addBeanTypes();
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder useJavaBeanIntrospector(boolean value) {
- super.useJavaBeanIntrospector(value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder addBeanTypes(boolean value) {
+ super.addBeanTypes(value);
return this;
}
- @Override /* BeanContextBuilder */
- public JsonSchemaSerializerBuilder useJavaBeanIntrospector() {
- super.useJavaBeanIntrospector();
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder addRootType() {
+ super.addRootType();
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder set(String name, Object value) {
- super.set(name, value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder addRootType(boolean value) {
+ super.addRootType(value);
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder set(Map<String,Object> properties) {
- super.set(properties);
+ @Deprecated @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder dontTrimNullProperties() {
+ super.dontTrimNullProperties();
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder add(Map<String,Object> properties) {
- super.add(properties);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder keepNullProperties() {
+ super.keepNullProperties();
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder addTo(String name, Object value) {
- super.addTo(name, value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder keepNullProperties(boolean value) {
+ super.keepNullProperties(value);
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder putTo(String name, String key, Object value) {
- super.putTo(name, key, value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder listener(Class<? extends org.apache.juneau.serializer.SerializerListener> value) {
+ super.listener(value);
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder removeFrom(String name, Object value) {
- super.removeFrom(name, value);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder sortCollections() {
+ super.sortCollections();
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder apply(PropertyStore copyFrom) {
- super.apply(copyFrom);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder sortCollections(boolean value) {
+ super.sortCollections(value);
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
- super.applyAnnotations(al, vrs);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder sortMaps() {
+ super.sortMaps();
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder applyAnnotations(Class<?>...fromClasses) {
- super.applyAnnotations(fromClasses);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder sortMaps(boolean value) {
+ super.sortMaps(value);
return this;
}
- @Override /* ContextBuilder */
- public JsonSchemaSerializerBuilder applyAnnotations(Method...fromMethods) {
- super.applyAnnotations(fromMethods);
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimEmptyCollections() {
+ super.trimEmptyCollections();
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimEmptyCollections(boolean value) {
+ super.trimEmptyCollections(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimEmptyMaps() {
+ super.trimEmptyMaps();
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimEmptyMaps(boolean value) {
+ super.trimEmptyMaps(value);
return this;
}
+
+ @Deprecated @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimNullProperties(boolean value) {
+ super.trimNullProperties(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimStrings() {
+ super.trimStrings();
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder trimStrings(boolean value) {
+ super.trimStrings(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriContext(String value) {
+ super.uriContext(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriContext(UriContext value) {
+ super.uriContext(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriRelativity(String value) {
+ super.uriRelativity(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriRelativity(UriRelativity value) {
+ super.uriRelativity(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriResolution(String value) {
+ super.uriResolution(value);
+ return this;
+ }
+
+ @Override /* GENERATED - SerializerBuilder */
+ public JsonSchemaSerializerBuilder uriResolution(UriResolution value) {
+ super.uriResolution(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder fileCharset(Charset value) {
+ super.fileCharset(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder maxIndent(int value) {
+ super.maxIndent(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder quoteChar(char value) {
+ super.quoteChar(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder sq() {
+ super.sq();
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder streamCharset(Charset value) {
+ super.streamCharset(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder useWhitespace() {
+ super.useWhitespace();
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder useWhitespace(boolean value) {
+ super.useWhitespace(value);
+ return this;
+ }
+
+ @Override /* GENERATED - WriterSerializerBuilder */
+ public JsonSchemaSerializerBuilder ws() {
+ super.ws();
+ return this;
+ }
+
+ @Override /* GENERATED - JsonSerializerBuilder */
+ public JsonSchemaSerializerBuilder escapeSolidus() {
+ super.escapeSolidus();
+ return this;
+ }
+
+ @Override /* GENERATED - JsonSerializerBuilder */
+ public JsonSchemaSerializerBuilder escapeSolidus(boolean value) {
+ super.escapeSolidus(value);
+ return this;
+ }
+
+ @Override /* GENERATED - JsonSerializerBuilder */
+ public JsonSchemaSerializerBuilder simple() {
+ super.simple();
+ return this;
+ }
+
+ @Override /* GENERATED - JsonSerializerBuilder */
+ public JsonSchemaSerializerBuilder simple(boolean value) {
+ super.simple(value);
+ return this;
+ }
+
+ @Override /* GENERATED - JsonSerializerBuilder */
+ public JsonSchemaSerializerBuilder ssq() {
+ super.ssq();
+ return this;
+ }
+
+ // </CONFIGURATION-PROPERTIES>
}
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index e0644f6..453da59 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -380,7 +380,7 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSerializerBuilder bpi(Map<String,String> values) {
+ public JsonSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -398,7 +398,7 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSerializerBuilder bpro(Map<String,String> values) {
+ public JsonSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -416,7 +416,7 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSerializerBuilder bpwo(Map<String,String> values) {
+ public JsonSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -434,7 +434,7 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSerializerBuilder bpx(Map<String,String> values) {
+ public JsonSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
index 8515b60..8b990e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
@@ -283,7 +283,7 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonParserBuilder bpi(Map<String,String> values) {
+ public SimpleJsonParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonParserBuilder bpro(Map<String,String> values) {
+ public SimpleJsonParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonParserBuilder bpwo(Map<String,String> values) {
+ public SimpleJsonParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonParserBuilder bpx(Map<String,String> values) {
+ public SimpleJsonParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
index a4a2ea3..e411cb4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
@@ -283,7 +283,7 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonSerializerBuilder bpi(Map<String,String> values) {
+ public SimpleJsonSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonSerializerBuilder bpro(Map<String,String> values) {
+ public SimpleJsonSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonSerializerBuilder bpwo(Map<String,String> values) {
+ public SimpleJsonSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SimpleJsonSerializerBuilder bpx(Map<String,String> values) {
+ public SimpleJsonSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index 9b2d4b4..fbc7318 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -559,7 +559,7 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSchemaGeneratorBuilder bpi(Map<String,String> values) {
+ public JsonSchemaGeneratorBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -577,7 +577,7 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSchemaGeneratorBuilder bpro(Map<String,String> values) {
+ public JsonSchemaGeneratorBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -595,7 +595,7 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSchemaGeneratorBuilder bpwo(Map<String,String> values) {
+ public JsonSchemaGeneratorBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -613,7 +613,7 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public JsonSchemaGeneratorBuilder bpx(Map<String,String> values) {
+ public JsonSchemaGeneratorBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index 4bcc979..0efab2e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -283,7 +283,7 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackParserBuilder bpi(Map<String,String> values) {
+ public MsgPackParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackParserBuilder bpro(Map<String,String> values) {
+ public MsgPackParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackParserBuilder bpwo(Map<String,String> values) {
+ public MsgPackParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackParserBuilder bpx(Map<String,String> values) {
+ public MsgPackParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index 4e413a4..8cb3551 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -283,7 +283,7 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackSerializerBuilder bpi(Map<String,String> values) {
+ public MsgPackSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -301,7 +301,7 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackSerializerBuilder bpro(Map<String,String> values) {
+ public MsgPackSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -319,7 +319,7 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackSerializerBuilder bpwo(Map<String,String> values) {
+ public MsgPackSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -337,7 +337,7 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MsgPackSerializerBuilder bpx(Map<String,String> values) {
+ public MsgPackSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index add601a..4f82fae 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -358,7 +358,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiParserBuilder bpi(Map<String,String> values) {
+ public OpenApiParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -376,7 +376,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiParserBuilder bpro(Map<String,String> values) {
+ public OpenApiParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -394,7 +394,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiParserBuilder bpwo(Map<String,String> values) {
+ public OpenApiParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -412,7 +412,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiParserBuilder bpx(Map<String,String> values) {
+ public OpenApiParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
index 3ec4ab2..1d9a568 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
@@ -358,7 +358,7 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiSerializerBuilder bpi(Map<String,String> values) {
+ public OpenApiSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -376,7 +376,7 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiSerializerBuilder bpro(Map<String,String> values) {
+ public OpenApiSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -394,7 +394,7 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiSerializerBuilder bpwo(Map<String,String> values) {
+ public OpenApiSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -412,7 +412,7 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OpenApiSerializerBuilder bpx(Map<String,String> values) {
+ public OpenApiSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
index 9f43f56..f371c73 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
@@ -322,7 +322,7 @@ public class InputStreamParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public InputStreamParserBuilder bpi(Map<String,String> values) {
+ public InputStreamParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -340,7 +340,7 @@ public class InputStreamParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public InputStreamParserBuilder bpro(Map<String,String> values) {
+ public InputStreamParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -358,7 +358,7 @@ public class InputStreamParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public InputStreamParserBuilder bpwo(Map<String,String> values) {
+ public InputStreamParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -376,7 +376,7 @@ public class InputStreamParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public InputStreamParserBuilder bpx(Map<String,String> values) {
+ public InputStreamParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index f8761bb..bee1039 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -469,7 +469,7 @@ public class ParserBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserBuilder bpi(Map<String,String> values) {
+ public ParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -487,7 +487,7 @@ public class ParserBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserBuilder bpro(Map<String,String> values) {
+ public ParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -505,7 +505,7 @@ public class ParserBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserBuilder bpwo(Map<String,String> values) {
+ public ParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -523,7 +523,7 @@ public class ParserBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserBuilder bpx(Map<String,String> values) {
+ public ParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index 0bbeb3a..f9ec735 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -601,7 +601,7 @@ public class ParserGroupBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserGroupBuilder bpi(Map<String,String> values) {
+ public ParserGroupBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -619,7 +619,7 @@ public class ParserGroupBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserGroupBuilder bpro(Map<String,String> values) {
+ public ParserGroupBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -637,7 +637,7 @@ public class ParserGroupBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserGroupBuilder bpwo(Map<String,String> values) {
+ public ParserGroupBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -655,7 +655,7 @@ public class ParserGroupBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ParserGroupBuilder bpx(Map<String,String> values) {
+ public ParserGroupBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index e687cac..7fc549f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -321,7 +321,7 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ReaderParserBuilder bpi(Map<String,String> values) {
+ public ReaderParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -339,7 +339,7 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ReaderParserBuilder bpro(Map<String,String> values) {
+ public ReaderParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -357,7 +357,7 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ReaderParserBuilder bpwo(Map<String,String> values) {
+ public ReaderParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -375,7 +375,7 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public ReaderParserBuilder bpx(Map<String,String> values) {
+ public ReaderParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index 5473c38..19e2643 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -284,7 +284,7 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextParserBuilder bpi(Map<String,String> values) {
+ public PlainTextParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -302,7 +302,7 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextParserBuilder bpro(Map<String,String> values) {
+ public PlainTextParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -320,7 +320,7 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextParserBuilder bpwo(Map<String,String> values) {
+ public PlainTextParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -338,7 +338,7 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextParserBuilder bpx(Map<String,String> values) {
+ public PlainTextParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index 34301af..a9f95c2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -284,7 +284,7 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextSerializerBuilder bpi(Map<String,String> values) {
+ public PlainTextSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -302,7 +302,7 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextSerializerBuilder bpro(Map<String,String> values) {
+ public PlainTextSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -320,7 +320,7 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextSerializerBuilder bpwo(Map<String,String> values) {
+ public PlainTextSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -338,7 +338,7 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public PlainTextSerializerBuilder bpx(Map<String,String> values) {
+ public PlainTextSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index 1a76904..7eaf678 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -322,7 +322,7 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OutputStreamSerializerBuilder bpi(Map<String,String> values) {
+ public OutputStreamSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -340,7 +340,7 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OutputStreamSerializerBuilder bpro(Map<String,String> values) {
+ public OutputStreamSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -358,7 +358,7 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OutputStreamSerializerBuilder bpwo(Map<String,String> values) {
+ public OutputStreamSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -376,7 +376,7 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public OutputStreamSerializerBuilder bpx(Map<String,String> values) {
+ public OutputStreamSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index 0ff6ac0..f0844f4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -778,7 +778,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerBuilder bpi(Map<String,String> values) {
+ public SerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -796,7 +796,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerBuilder bpro(Map<String,String> values) {
+ public SerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -814,7 +814,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerBuilder bpwo(Map<String,String> values) {
+ public SerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -832,7 +832,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerBuilder bpx(Map<String,String> values) {
+ public SerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index c656183..43d80a8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -907,7 +907,7 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerGroupBuilder bpi(Map<String,String> values) {
+ public SerializerGroupBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -925,7 +925,7 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerGroupBuilder bpro(Map<String,String> values) {
+ public SerializerGroupBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -943,7 +943,7 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerGroupBuilder bpwo(Map<String,String> values) {
+ public SerializerGroupBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -961,7 +961,7 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SerializerGroupBuilder bpx(Map<String,String> values) {
+ public SerializerGroupBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index e3bfa55..3dd2e92 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -437,7 +437,7 @@ public class WriterSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public WriterSerializerBuilder bpi(Map<String,String> values) {
+ public WriterSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -455,7 +455,7 @@ public class WriterSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public WriterSerializerBuilder bpro(Map<String,String> values) {
+ public WriterSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -473,7 +473,7 @@ public class WriterSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public WriterSerializerBuilder bpwo(Map<String,String> values) {
+ public WriterSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -491,7 +491,7 @@ public class WriterSerializerBuilder extends SerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public WriterSerializerBuilder bpx(Map<String,String> values) {
+ public WriterSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index 117a2c0..5d7c20a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -304,7 +304,7 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SoapXmlSerializerBuilder bpi(Map<String,String> values) {
+ public SoapXmlSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -322,7 +322,7 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SoapXmlSerializerBuilder bpro(Map<String,String> values) {
+ public SoapXmlSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -340,7 +340,7 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SoapXmlSerializerBuilder bpwo(Map<String,String> values) {
+ public SoapXmlSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -358,7 +358,7 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public SoapXmlSerializerBuilder bpx(Map<String,String> values) {
+ public SoapXmlSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index a356239..7a5b68d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -364,7 +364,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonParserBuilder bpi(Map<String,String> values) {
+ public UonParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -382,7 +382,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonParserBuilder bpro(Map<String,String> values) {
+ public UonParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -400,7 +400,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonParserBuilder bpwo(Map<String,String> values) {
+ public UonParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -418,7 +418,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonParserBuilder bpx(Map<String,String> values) {
+ public UonParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index 21fb8a5..7658a1d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -381,7 +381,7 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonSerializerBuilder bpi(Map<String,String> values) {
+ public UonSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -399,7 +399,7 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonSerializerBuilder bpro(Map<String,String> values) {
+ public UonSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -417,7 +417,7 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonSerializerBuilder bpwo(Map<String,String> values) {
+ public UonSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -435,7 +435,7 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UonSerializerBuilder bpx(Map<String,String> values) {
+ public UonSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index c51dc20..df80ecb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -324,7 +324,7 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingParserBuilder bpi(Map<String,String> values) {
+ public UrlEncodingParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -342,7 +342,7 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingParserBuilder bpro(Map<String,String> values) {
+ public UrlEncodingParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -360,7 +360,7 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingParserBuilder bpwo(Map<String,String> values) {
+ public UrlEncodingParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -378,7 +378,7 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingParserBuilder bpx(Map<String,String> values) {
+ public UrlEncodingParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index 5d7eab1..6a1226a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -325,7 +325,7 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingSerializerBuilder bpi(Map<String,String> values) {
+ public UrlEncodingSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -343,7 +343,7 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingSerializerBuilder bpro(Map<String,String> values) {
+ public UrlEncodingSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -361,7 +361,7 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingSerializerBuilder bpwo(Map<String,String> values) {
+ public UrlEncodingSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -379,7 +379,7 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public UrlEncodingSerializerBuilder bpx(Map<String,String> values) {
+ public UrlEncodingSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 2ef1fd5..b5d5258 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -474,7 +474,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlParserBuilder bpi(Map<String,String> values) {
+ public XmlParserBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -492,7 +492,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlParserBuilder bpro(Map<String,String> values) {
+ public XmlParserBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -510,7 +510,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlParserBuilder bpwo(Map<String,String> values) {
+ public XmlParserBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -528,7 +528,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlParserBuilder bpx(Map<String,String> values) {
+ public XmlParserBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index c9a82b9..18d8db4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -515,7 +515,7 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlSerializerBuilder bpi(Map<String,String> values) {
+ public XmlSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -533,7 +533,7 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlSerializerBuilder bpro(Map<String,String> values) {
+ public XmlSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -551,7 +551,7 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlSerializerBuilder bpwo(Map<String,String> values) {
+ public XmlSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -569,7 +569,7 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public XmlSerializerBuilder bpx(Map<String,String> values) {
+ public XmlSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
index 54c4f88..481e8b0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
@@ -453,7 +453,7 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* BeanContextBuilder */
- public XmlSchemaSerializerBuilder bpi(Map<String,String> values) {
+ public XmlSchemaSerializerBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -471,7 +471,7 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* BeanContextBuilder */
- public XmlSchemaSerializerBuilder bpx(Map<String,String> values) {
+ public XmlSchemaSerializerBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
@@ -489,7 +489,7 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* BeanContextBuilder */
- public XmlSchemaSerializerBuilder bpro(Map<String,String> values) {
+ public XmlSchemaSerializerBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -507,7 +507,7 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
}
@Override /* BeanContextBuilder */
- public XmlSchemaSerializerBuilder bpwo(Map<String,String> values) {
+ public XmlSchemaSerializerBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index ee48b0b..f7a61a3 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -173,7 +173,7 @@
<li><p><a class='doclink' href='#juneau-marshall.HttpPartParsers'>HTTP Part Parsers</a></p>
<li><p><a class='doclink' href='#juneau-marshall.ConfigurableProperties'>Configurable Properties</a><span class='update'>8.1.3-updated</span></p>
<li><p><a class='doclink' href='#juneau-marshall.ConfigurableAnnotations'>Configurable Annotations</a><span class='update'>8.1.0-new, 8.1.3-updated, <b>8.1.4-updated</b></span></p>
- <li><p><a class='doclink' href='#juneau-marshall.ObjectMap'>ObjectMap and ObjectList</a></p>
+ <li><p><a class='doclink' href='#juneau-marshall.ObjectMap'>OMap and OList</a><span class='update'>updated-8.1.4</span></p>
<li><p><a class='doclink' href='#juneau-marshall.Groups'>SerializerGroups and ParserGroups</a></p>
<li><p><a class='doclink' href='#juneau-marshall.ContextsBuildersSessionsPropertyStores'>Contexts, Builders, Sessions, and PropertyStores</a></p>
<li><p><a class='doclink' href='#juneau-marshall.Transforms'>Transforms</a></p>
@@ -205,7 +205,7 @@
</ol>
<li><p><a class='doclink' href='#juneau-marshall.VirtualBeans'>Virtual Beans</a></p>
<li><p><a class='doclink' href='#juneau-marshall.Recursion'>Non-Tree Models and Recursion Detection</a></p>
- <li><p><a class='doclink' href='#juneau-marshall.ParsingIntoGenericModels'>Parsing into Generic Models</a></p>
+ <li><p><a class='doclink' href='#juneau-marshall.ParsingIntoGenericModels'>Parsing into Generic Models</a><span class='update'>updated-8.1.4</span></p>
<li><p><a class='doclink' href='#juneau-marshall.ReadingContinuousStreams'>Reading Continuous Streams</a></p>
<li><p><a class='doclink' href='#juneau-marshall.URIs'>URIs</a></p>
<li><p><a class='doclink' href='#juneau-marshall.JacksonComparison'>Comparison with Jackson</a></p>
@@ -463,7 +463,7 @@
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies'>REST Proxies</a></p>
<ol>
<li><p><a class='doclink' href='#juneau-rest-client.RestProxies.Remote'>@Remote</a><span class='update'>8.1.2-updated</span></p>
- <li><p><a class='doclink' href='#juneau-rest-client.RestProxies.RemoteMethod'>@RemoteMethod</a></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>
@@ -1573,10 +1573,10 @@
<!-- ==================================================================================================== -->
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.ObjectMap' id='juneau-marshall.ObjectMap'>2.8 - ObjectMap and ObjectList</a></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.ObjectMap' id='juneau-marshall.ObjectMap'>2.8 - OMap and OList</a><span class='update'>updated-8.1.4</span></h3>
<div class='topic'><!-- START: 2.8 - juneau-marshall.ObjectMap -->
<p>
- The {@link org.apache.juneau.ObjectMap} and {@link org.apache.juneau.ObjectList} classes are generic Java
+ The {@link org.apache.juneau.collections.OMap} and {@link org.apache.juneau.collections.OList} classes are generic Java
representations of JSON objects and arrays.
These classes can be used to create "unstructured" models for serialization (as opposed to "structured"
models consisting of beans).
@@ -1591,19 +1591,19 @@
{@link java.util.LinkedHashMap java.util.LinkedHashMap}
<ul>
<li class='jc'>
- {@link org.apache.juneau.ObjectMap org.apache.juneau.ObjectMap}
+ {@link org.apache.juneau.collections.OMap org.apache.juneau.collections.OMap}
</ul>
</li>
<li class='jc'>
{@link java.util.LinkedList java.util.LinkedList}
<ul>
<li class='jc'>
- {@link org.apache.juneau.ObjectMap org.apache.juneau.ObjectList}
+ {@link org.apache.juneau.collections.OList org.apache.juneau.collections.OList}
</ul>
</li>
</ul>
<p>
- The <l>ObjectMap</l> and <l>ObjectList</l> classes are very similar to the <l>JSONObject</l> and
+ The <l>OMap</l> and <l>OList</l> classes are very similar to the <l>JSONObject</l> and
<l>JSONArray</l> classes found in other libraries.
However, the names were chosen because the concepts of <l>Maps</l> and <l>Lists</l> are already familiar to
Java programmers, and these classes can be used with any of the serializers or parsers.
@@ -1613,30 +1613,30 @@
</p>
<ol class='spaced-list'>
<li>
- Using the provided {@link org.apache.juneau.ObjectMap#serializeTo(java.io.Writer)} or
- {@link org.apache.juneau.ObjectList#serializeTo(java.io.Writer)} methods.
+ Using the provided {@link org.apache.juneau.collections.OMap#serializeTo(java.io.Writer)} or
+ {@link org.apache.juneau.collections.OList#serializeTo(java.io.Writer)} methods.
<li>
Passing them to one of the {@link org.apache.juneau.serializer.Serializer} serialize methods.
<li>
- Simply calling the {@link org.apache.juneau.ObjectMap#toString()} or {@link org.apache.juneau.ObjectList#toString()}
+ Simply calling the {@link org.apache.juneau.collections.OMap#toString()} or {@link org.apache.juneau.collections.OList#toString()}
methods which will serialize it as Simplified JSON.
</ol>
<p>
Any valid JSON can be parsed into an unstructured model consisting of generic
- {@link org.apache.juneau.ObjectMap} and {@link org.apache.juneau.ObjectList} objects.
+ {@link org.apache.juneau.collections.OMap} and {@link org.apache.juneau.collections.OList} objects.
(In theory, any valid XML can also be parsed into an unstructured model, although this has not been
officially 'tested')
</p>
<p class='bpcode w800'>
<jc>// Parse an arbitrary JSON document into an unstructered data model
- // consisting of ObjectMaps, ObjectLists, and java primitive objects.</jc>
+ // consisting of OMaps, OLists, and java primitive objects.</jc>
Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
String json = <js>"{a:{name:'John Smith',age:21},b:{name:'Joe Smith',age:42}}"</js>;
- ObjectMap m = parser.parse(json, ObjectMap.<jk>class</jk>);
+ OMap m = parser.parse(json, OMap.<jk>class</jk>);
- <jc>// Use ObjectMap API to extract data from the unstructured model.</jc>
- <jk>int</jk> johnSmithAge = m.getObjectMap(<js>"a"</js>).getInt(<js>"age"</js>);
+ <jc>// Use OMap API to extract data from the unstructured model.</jc>
+ <jk>int</jk> johnSmithAge = m.getMap(<js>"a"</js>).getInt(<js>"age"</js>);
<jc>// Convert it back into JSON.</jc>
json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(m);
@@ -1648,38 +1648,38 @@
json = m.toString();
</p>
<p>
- The <c>ObjectMap</c> and <c>ObjectList</c> classes have many convenience features:
+ The <c>OMap</c> and <c>OList</c> classes have many convenience features:
</p>
<p class='bpcode w800'>
<jc>// Convert the map to a bean.</jc>
- MyBean m = objectMap.cast(MyBean.<jk>class</jk>);
+ MyBean m = omap.cast(MyBean.<jk>class</jk>);
<jc>// Find entries by multiple keys.</jc>
- MyBean m = objectMap.find(MyBean.<jk>class</jk>, <js>"key1"</js>, <js>"key2"</js>);
+ MyBean m = omap.find(MyBean.<jk>class</jk>, <js>"key1"</js>, <js>"key2"</js>);
<jc>// Fluent-style appenders.</jc>
- objectMap.append(<js>"key1"</js>, <js>"val1"</js>).append(<js>"key2"</js>, <js>"val2"</js>);
+ omap.append(<js>"key1"</js>, <js>"val1"</js>).append(<js>"key2"</js>, <js>"val2"</js>);
<jc>// REST-like functions for manipulating nodes in the data structure using URL-like notation.</jc>
- objectMap.getAt(<js>"foo/bar/myBean"</js>, MyBean.<jk>class</jk>);
- objectMap.putAt(<js>"foo/bar/myBean"</js>, MyBean.<jk>class</jk>);
- objectMap.postAt(<js>"foo/bar/myListOfBeans"</js>, MyBean.<jk>class</jk>);
- objectMap.deleteAt(<js>"foo/bar/myBean"</js>);
+ omap.getAt(<js>"foo/bar/myBean"</js>, MyBean.<jk>class</jk>);
+ omap.putAt(<js>"foo/bar/myBean"</js>, MyBean.<jk>class</jk>);
+ omap.postAt(<js>"foo/bar/myListOfBeans"</js>, MyBean.<jk>class</jk>);
+ omap.deleteAt(<js>"foo/bar/myBean"</js>);
<jc>// Copy with inclusion or exclusion.</jc>
- ObjectMap m2 = objectMap.include(<js>"key1"</js>, <js>"key2"</js>, <js>"key3"</js>);
- ObjectMap m3 = objectMap.exclude(<js>"key1"</js>, <js>"key2"</js>, <js>"key3"</js>);
+ OMap m2 = omap.include(<js>"key1"</js>, <js>"key2"</js>, <js>"key3"</js>);
+ OMap m3 = omap.exclude(<js>"key1"</js>, <js>"key2"</js>, <js>"key3"</js>);
<jc>// Serialize using another serializer.</jc>
- String xml = objectMap.serializeTo(XmlSerializer.<jsf>DEFAULT</jsf>);
+ String xml = omap.serializeTo(XmlSerializer.<jsf>DEFAULT</jsf>);
<jc>// Nested maps.</jc>
- objectMap.setInner(objectMapInner);
+ omap.inner(omapInner);
</p>
<div class='info'>
As a general rule, if you do not specify a target type during parsing, or if the target type cannot be
- determined through reflection, the parsers automatically generate <l>ObjectMaps</l> and <l>ObjectLists</l>.
+ determined through reflection, the parsers automatically generate <l>OMaps</l> and <l>OLists</l>.
</div>
</div><!-- END: 2.8 - juneau-marshall.ObjectMap -->
@@ -1944,17 +1944,17 @@
</p>
<p class='bpcode w800'>
<jc>// Sample swap for converting a bean to a specialized map of key-value pairs.</jc>
- <jk>public class</jk> MyBeanSwap <jk>extends</jk> PojoSwap<MyBean,ObjectMap> {
+ <jk>public class</jk> MyBeanSwap <jk>extends</jk> PojoSwap<MyBean,OMap> {
<jc>// Converts a bean to a generic map.</jc>
<ja>@Override</ja> <jc>/* PojoSwap */</jc>
- <jk>public</jk> ObjectMap swap(BeanSession session, MyBean o) {
- <jk>return new</jk> ObjectMap().append(<js>"foo"</js>, o.getBar());
+ <jk>public</jk> OMap swap(BeanSession session, MyBean o) {
+ <jk>return</jk> OMap.<jsm>of</jsm>(<js>"foo"</js>, o.getBar());
}
<jc>// Converts the generic map back into a bean.</jc>
<ja>@Override</ja> <jc>/* PojoSwap */</jc>
- <jk>public</jk> MyBean unswap(BeanSession session, ObjectMap o, ClassMeta hint) <jk>throws</jk> Exception {
+ <jk>public</jk> MyBean unswap(BeanSession session, OMap o, ClassMeta hint) <jk>throws</jk> Exception {
MyBean b = <jk>new</jk> MyBean();
b.setBar(o.getString(<js>"foo"</js>));
<jk>return</jk> b;
@@ -2189,13 +2189,13 @@
</p>
<ul>
<li><c><jk>public</jk> Map toMap()</c> method. Can be any type of map with string keys and object vals.
- <li><c><jk>public</jk> ObjectMap toMap()</c> method.
+ <li><c><jk>public</jk> OMap toMap()</c> method.
<li><c><jk>public</jk> Map toMap(BeanSession)</c> method. Can be any type of map with string keys and object vals.
- <li><c><jk>public</jk> ObjectMap toMap(BeanSession)</c> method.
+ <li><c><jk>public</jk> OMap toMap(BeanSession)</c> method.
<li><c><jk>public static</jk> MyPojo fromMap(Map)</c> method. Can be any type of map with string keys and object vals.
- <li><c><jk>public static</jk> MyPojo fromMap(ObjectMap)</c> method.
+ <li><c><jk>public static</jk> MyPojo fromMap(OMap)</c> method.
<li><c><jk>public static</jk> MyPojo fromMap(Map,BeanSession)</c> method. Can be any type of map with string keys and object vals.
- <li><c><jk>public static</jk> MyPojo fromMap(ObjectMap,BeanSession)</c> method.
+ <li><c><jk>public static</jk> MyPojo fromMap(OMap,BeanSession)</c> method.
</ul>
<p>
The <c>BeanSession</c> parameter allows you access to various information about the current
@@ -2428,7 +2428,7 @@
WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(IteratorSwap.<jk>class</jk>).build();
<jc>// Construct an iterator we want to serialize.</jc>
- Iterator i = <jk>new</jk> ObjectList(1,2,3).iterator();
+ Iterator i = OList.<jsm>of</jsm>(1,2,3).iterator();
<jc>// Serialize our Iterator</jc>
String json = s.serialize(i); <jc>// Produces "[1,2,3]"</jc>
@@ -4053,7 +4053,7 @@
<!-- ==================================================================================================== -->
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.ParsingIntoGenericModels' id='juneau-marshall.ParsingIntoGenericModels'>2.16 - Parsing into Generic Models</a></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.ParsingIntoGenericModels' id='juneau-marshall.ParsingIntoGenericModels'>2.16 - Parsing into Generic Models</a><span class='update'>updated-8.1.4</span></h3>
<div class='topic'><!-- START: 2.16 - juneau-marshall.ParsingIntoGenericModels -->
<p>
The Juneau parsers are not limited to parsing back into the original bean classes.
@@ -4063,15 +4063,15 @@
</p>
<p>
You can parse into any <c>Map</c> type (e.g. <c>HashMap</c>, <c>TreeMap</c>), but
- using {@link org.apache.juneau.ObjectMap} is recommended since it has many convenience methods
+ using {@link org.apache.juneau.collections.OMap} is recommended since it has many convenience methods
for converting values to various types.
The same is true when parsing collections. You can use any Collection (e.g. <c>HashSet</c>,
<c>LinkedList</c>) or array (e.g. <c>Object[]</c>, <c>String[]</c>,
- <c>String[][]</c>), but using {@link org.apache.juneau.ObjectList} is recommended.
+ <c>String[][]</c>), but using {@link org.apache.juneau.collections.OList} is recommended.
</p>
<p>
When the map or list type is not specified, or is the abstract <c>Map</c>, <c>Collection</c>,
- or <c>List</c> types, the parser will use <c>ObjectMap</c> and <c>ObjectList</c> by
+ or <c>List</c> types, the parser will use <c>OMap</c> and <c>OList</c> by
default.
</p>
<p>
@@ -4099,11 +4099,11 @@
}
</p>
<p>
- We can parse this into a generic <c>ObjectMap</c>:
+ We can parse this into a generic <c>OMap</c>:
</p>
<p class='bpcode w800'>
<jc>// Parse JSON into a generic POJO model.</jc>
- ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
+ OMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, OMap.<jk>class</jk>);
<jc>// Convert it back to JSON.</jc>
String json = SimpleJsonSerializer.<jsf>DEFAULT_READABLE</jsf>.serialize(m);
@@ -4135,12 +4135,12 @@
}
</p>
<p>
- Once parsed into a generic model, various convenience methods are provided on the <c>ObjectMap</c>
- and <c>ObjectList</c> classes to retrieve values:
+ Once parsed into a generic model, various convenience methods are provided on the <c>OMap</c>
+ and <c>OList</c> classes to retrieve values:
</p>
<p class='bpcode w800'>
<jc>// Parse JSON into a generic POJO model.</jc>
- ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
+ OMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, OMap.<jk>class</jk>);
<jc>// Get some simple values.</jc>
String name = m.getString(<js>"name"</js>);
@@ -4154,7 +4154,7 @@
Calendar birthDate = m.get(swap, <js>"birthDate"</js>);
<jc>// Get the addresses.</jc>
- ObjectList addresses = m.getObjectList(<js>"addresses"</js>);
+ OList addresses = m.getList(<js>"addresses"</js>);
<jc>// Get the first address and convert it to a bean.</jc>
Address address = addresses.get(Address.<jk>class</jk>, 0);
@@ -4193,8 +4193,8 @@
Reader r;
r = new StringReader(<js>"{foo:'bar'}{baz:'qux'}"</js>);
- x = p.parse(r, ObjectMap.<jk>class</jk>); <jc>// {foo:'bar'}</jc>
- x = p.parse(r, ObjectMap.<jk>class</jk>); <jc>// {baz:'qux'}</jc>
+ x = p.parse(r, OMap.<jk>class</jk>); <jc>// {foo:'bar'}</jc>
+ x = p.parse(r, OMap.<jk>class</jk>); <jc>// {baz:'qux'}</jc>
r = reader(<js>"[123][456]"</js>);
x = p.parse(r, <jk>int</jk>[].<jk>class</jk>); <jc>// [123]</jc>
@@ -5021,13 +5021,14 @@
<h5 class='figure'>Examples:</h5>
<p class='bpcode w800'>
<jc>// Some free-form JSON.</jc>
- ObjectMap m = <jk>new</jk> ObjectMap()
- .append(<js>"foo"</js>, <js>"x1"</js>)
- .append(<js>"_bar"</js>, <js>"x2"</js>)
- .append(<js>" baz "</js>, <js>"x3"</js>)
- .append(<js>"123"</js>, <js>"x4"</js>)
- .append(<js>"return"</js>, <js>"x5"</js>);
- .append(<js>""</js>, <js>"x6"</js>);
+ OMap m = OMap.of(
+ <js>"foo"</js>, <js>"x1"</js>,
+ <js>"_bar"</js>, <js>"x2"</js>,
+ <js>" baz "</js>, <js>"x3"</js>,
+ <js>"123"</js>, <js>"x4"</js>,
+ <js>"return"</js>, <js>"x5"</js>,
+ <js>""</js>, <js>"x6"</js>
+ );
</p>
<p class='bpcode w800'>
<joc>// Serialized to standard JSON</joc>
@@ -9319,14 +9320,12 @@
Under-the-covers, this gets converted to the following schema object:
</p>
<p class='bpcode w800'>
- <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
-
- HttpPartSchema schema = <jsm>create</jsm>()
+ HttpPartSchema schema = HttpPartSchema.<jsm>create</jsm>()
.items(
- <jsm>create</jsm>()
+ HttpPartSchema.<jsm>create</jsm>()
.collectionFormat(<js>"pipes"</js>)
.items(
- <jsm>create</jsm>()
+ HttpPartSchema.<jsm>create</jsm>()
.collectionFormat(<js>"csv"</js>)
.type(<js>"integer"</js>)
.format(<js>"int64"</js>)
@@ -10036,7 +10035,7 @@
+ <js>"f7=1,f8=2,f9=1.0,f10=1.0,f11=true,fExtra=1)"</js>;
HttpPartParser p = OpenApiParser.<jsf>DEFAULT</jsf>;
- ObjectMap m = p.parse(schema, input, ObjectMap.<jk>class</jk>);
+ OMap m = p.parse(schema, input, OMap.<jk>class</jk>);
</p>
<ul class='notes'>
<li>
@@ -12074,12 +12073,12 @@
List<Address> addresses = c.getObject(<js>"addresses"</js>, ArrayList.<jk>class</jk>, Address.<jk>class</jk>);
</p>
<p>
- Oftentimes, it might be useful to parse into the {@link org.apache.juneau.ObjectList} and {@link org.apache.juneau.ObjectMap}
+ Oftentimes, it might be useful to parse into the {@link org.apache.juneau.collections.OList} and {@link org.apache.juneau.collections.OMap}
classes that provide the various convenience methods for working with JSON-like data structures:
</p>
<p class='bpcode w800'>
- ObjectMap m = c.getObject(<js>"key1"</js>, ObjectMap.<jk>class</jk>);
- ObjectList l = c.getObject(<js>"key2"</js>, ObjectList.<jk>class</jk>);
+ OMap m = c.getObject(<js>"key1"</js>, OMap.<jk>class</jk>);
+ OList l = c.getObject(<js>"key2"</js>, OList.<jk>class</jk>);
</p>
</div><!-- END: 5.2.4 - juneau-config.EntryTypes.Collections -->
@@ -12351,7 +12350,7 @@
<jc>// Example usage</jc>
Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
- ObjectMap m = c.getSectionAsMap(<js>"MyAddress"</js>);
+ OMap m = c.getSectionAsMap(<js>"MyAddress"</js>);
String street = m.getString(<js>"street"</js>);
String city = m.getString(<js>"city"</js>);
@@ -14829,7 +14828,7 @@
It wraps the request attributes in a {@link java.util.Map} interface and provides several convenience methods.
</p>
<p>
- The <c>RequestAttributes</c> object extends from {@link org.apache.juneau.ObjectMap} so all the convenience methods defined on
+ The <c>RequestAttributes</c> object extends from {@link org.apache.juneau.collections.OMap} so all the convenience methods defined on
that API are also available when working with request attributes:
</p>
<p class='bpcode w800'>
@@ -16458,7 +16457,7 @@
at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
(e.g. <code>List</code>). Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
- when trying to access generalized <code>ObjectMaps</code> as beans. The best solution to this issue is to either
+ when trying to access generalized <code>OMaps</code> as beans. The best solution to this issue is to either
specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
will not try to recompile it.
</div>
@@ -16642,7 +16641,7 @@
at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
(e.g. <code>List</code>). Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
- when trying to access generalized <code>ObjectMaps</code> as beans. The best solution to this issue is to either
+ when trying to access generalized <code>OMaps</code> as beans. The best solution to this issue is to either
specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
will not try to recompile it.
</div>
@@ -22573,8 +22572,8 @@
String url = <js>"http://localhost:10000/addressBook"</js>;
<jc>// Do a REST GET against a remote REST interface and convert
- // the response to an unstructured ObjectMap object.</jc>
- ObjectMap m1 = client.get(url).run().getBody().as(ObjectMap.<jk>class</jk>);
+ // the response to an unstructured OMap object.</jc>
+ OMap m1 = client.get(url).run().getBody().as(OMap.<jk>class</jk>);
<jc>// Same as above, except parse the JSON as a bean.</jc>
AddressBook a2 = client.get(url).run().getBody().as(AddressBook.<jk>class</jk>);
@@ -22661,17 +22660,17 @@
<jc>// GET request, getting output as an untyped map</jc>
<jc>// Input must be an object (e.g. "{...}")</jc>
- ObjectMap m = client
+ OMap m = client
.get(<js>"http://localhost:10000/addressBook/0"</js>)
.run()
- .getBody().as(ObjectMap.<jk>class</jk>);
+ .getBody().as(OMap.<jk>class</jk>);
<jc>// GET request, getting output as an untyped list</jc>
<jc>// Input must be an array (e.g. "[...]")</jc>
- ObjectList l = client
+ OList l = client
.get(<js>"http://localhost:10000/addressBook"</js>)
.run()
- .getBody().as(ObjectList.<jk>class</jk>);
+ .getBody().as(OList.<jk>class</jk>);
<jc>// GET request, getting output as a parsed bean</jc>
<jc>// Input must be an object (e.g. "{...}")</jc>
@@ -22884,7 +22883,7 @@
<!-- ==================================================================================================== -->
-<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteMethod' id='juneau-rest-client.RestProxies.RemoteMethod'>9.1.2 - @RemoteMethod</a></h4>
+<h4 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteMethod' id='juneau-rest-client.RestProxies.RemoteMethod'>9.1.2 - @RemoteMethod</a><span class='update'><b>8.1.4-updated</b></span></h4>
<div class='topic'><!-- START: 9.1.2 - juneau-rest-client.RestProxies.RemoteMethod -->
<p>
The {@link org.apache.juneau.http.remote.RemoteMethod @RemoteMethod} annotation is applied to methods
@@ -22996,7 +22995,7 @@
</p>
<ul class='spaced-list'>
<li>
- <jk>void</jk>
+ <jk>void</jk>/{@link java.lang.Void}
- Don't parse any response.
<br>Note that the method will still throw a runtime exception if an error HTTP status is returned.
<li>
@@ -23014,6 +23013,8 @@
<li>
{@link java.io.InputStream}
- Returns access to the raw input stream of the response.
+ <li>
+ A {@link java.util.concurrent.Future} or {@link java.util.concurrent.CompletableFuture} of anything on this list.
</ul>
<p>
@@ -23577,7 +23578,7 @@
<ja>@Query</ja>
<jk>public</jk> Map<String,Object> getQueryParams() {
- <jk>return new</jk> ObjectMap().append(<js>"debug"</js>, <jk>true</jk>);
+ <jk>return</jk> OMap.<jsm>of</jsm>(<js>"debug"</js>, <jk>true</jk>);
}
<ja>@Header</ja>(<js>"E-Tag"</js>)
@@ -23642,7 +23643,7 @@
<ja>@Override</ja>
<jk>public</jk> Map<String,Object> getQueryParams() {
- <jk>return new</jk> ObjectMap().append(<js>"debug"</js>, <jk>true</jk>);
+ <jk>return</jk> OMap.<jsm>of</jsm>(<js>"debug"</js>, <jk>true</jk>);
}
<ja>@Override</ja>
@@ -25099,7 +25100,7 @@
<p>
The manifest file can be retrieved using the the {@link org.apache.juneau.microservice.Microservice#getManifest()} method which
provides an API for accessing manifest file entries.
- This method returns an instance of {@link org.apache.juneau.utils.ManifestFile} which extends from {@link org.apache.juneau.ObjectMap} allowing
+ This method returns an instance of {@link org.apache.juneau.utils.ManifestFile} which extends from {@link org.apache.juneau.collections.OMap} allowing
you to retrieve entries as any data types supported by that class.
</p>
<h5 class='figure'>Example:</h5>
@@ -27659,7 +27660,7 @@
<jk>public class</jk> ConfigResource <jk>extends</jk> BasicRestServlet {
<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/"</js>, description=<js>"Show contents of config file."</js>)
- <jk>public</jk> ObjectMap getConfig() <jk>throws</jk> Exception {
+ <jk>public</jk> OMap getConfig() <jk>throws</jk> Exception {
<jk>return</jk> getServletConfig().getConfig().asMap();
}
@@ -27687,7 +27688,7 @@
<js>"]"</js>
}
)
- <jk>public</jk> ObjectMap getConfigSection(<ja>@Path</ja>(<js>"section"</js>) String section) <jk>throws</jk> Exception {
+ <jk>public</jk> OMap getConfigSection(<ja>@Path</ja>(<js>"section"</js>) String section) <jk>throws</jk> Exception {
<jk>return</jk> getSection(section);
}
@@ -27737,7 +27738,7 @@
<js>"]"</js>
}
)
- <jk>public</jk> ObjectMap setConfigSection(<ja>@Path</ja>(<js>"section"</js>) String section, <ja>@Body</ja> Map<String,String> contents) <jk>throws</jk> Exception {
+ <jk>public</jk> OMap setConfigSection(<ja>@Path</ja>(<js>"section"</js>) String section, <ja>@Body</ja> Map<String,String> contents) <jk>throws</jk> Exception {
getServletConfig().getConfig().setSection(section, contents);
<jk>return</jk> getSection(section);
}
@@ -27757,8 +27758,8 @@
<jk>return</jk> getSection(section).getString(key);
}
- <jk>private</jk> ObjectMap getSection(String name) {
- ObjectMap m = getServletConfig().getConfig().getSectionMap(name);
+ <jk>private</jk> OMap getSection(String name) {
+ OMap m = getServletConfig().getConfig().getSectionMap(name);
<jk>if</jk> (m == <jk>null</jk>)
<jk>throw new</jk> RestException(<jsf>SC_NOT_FOUND</jsf>, <js>"Section not found."</js>);
<jk>return</jk> m;
@@ -29233,7 +29234,7 @@
<td></td>
<td>{@link org.apache.juneau.BeanContext#BEAN_beanFilters BEAN_beanFilters}</td>
<td>Bean filters.</td>
- <td style='max-width:250px;overflow:hidden'><c>List<Class></c></td>
+ <td style='max-width:250px;overflow:hidden'><c>List<Object></c></td>
</tr>
<tr>
<td></td>
@@ -29555,6 +29556,12 @@
</tr>
<tr>
<td></td>
+ <td>{@link org.apache.juneau.html.HtmlDocSerializer#HTMLDOC_asideFloat HTMLDOC_asideFloat}</td>
+ <td>Float aside section contents.</td>
+ <td style='max-width:250px;overflow:hidden'>{@link AsideFloat}</td>
+ </tr>
+ <tr>
+ <td></td>
<td>{@link org.apache.juneau.html.HtmlDocSerializer#HTMLDOC_footer HTMLDOC_footer}</td>
<td>Footer section contents.</td>
<td style='max-width:250px;overflow:hidden'><c>List<String></c></td>
@@ -29626,6 +29633,12 @@
<td style='max-width:250px;overflow:hidden'><c>List<{@link org.apache.juneau.html.HtmlWidget}|Class<{@link org.apache.juneau.html.HtmlWidget}>></c></td>
</tr>
<tr>
+ <td>{@link org.apache.juneau.html.HtmlDocSerializerBuilder}</td>
+ <td>{@link org.apache.juneau.html.HtmlDocSerializer#HTMLDOC_asideFloat HTMLDOC_asideFloat}</td>
+ <td>Float aside section contents.</td>
+ <td style='max-width:250px;overflow:hidden'>{@link AsideFloat}</td>
+ </tr>
+ <tr>
<td>{@link org.apache.juneau.html.HtmlSerializer}</td>
<td>{@link org.apache.juneau.html.HtmlSerializer#HTML_addBeanTypes HTML_addBeanTypes}</td>
<td>Add <js>"_type"</js> properties when needed.</td>
@@ -29707,7 +29720,7 @@
<td></td>
<td>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator#JSONSCHEMA_defaultSchemas JSONSCHEMA_defaultSchemas}</td>
<td>Default schemas.</td>
- <td style='max-width:250px;overflow:hidden'><c>Map<String,{@link org.apache.juneau.ObjectMap}></c></td>
+ <td style='max-width:250px;overflow:hidden'><c>Map<String,{@link org.apache.juneau.collections.OMap}></c></td>
</tr>
<tr>
<td></td>
@@ -29746,6 +29759,12 @@
<td style='max-width:250px;overflow:hidden'><jk>boolean</jk></td>
</tr>
<tr>
+ <td>{@link org.apache.juneau.oapi.OpenApiCommon}</td>
+ <td>{@link org.apache.juneau.oapi.OpenApiCommon#OAPI_collectionFormat OAPI_collectionFormat}</td>
+ <td>Default collection format for HTTP parts.</td>
+ <td style='max-width:250px;overflow:hidden'>{@link org.apache.juneau.httppart.HttpPartCollectionFormat}</td>
+ </tr>
+ <tr>
<td>{@link org.apache.juneau.serializer.OutputStreamSerializer}</td>
<td>{@link org.apache.juneau.serializer.OutputStreamSerializer#OSSERIALIZER_binaryFormat OSSERIALIZER_binaryFormat}</td>
<td>Binary output format.</td>
@@ -30061,7 +30080,7 @@
<td></td>
<td>{@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_headers RESTCLIENT_headers}</td>
<td>Request headers.</td>
- <td style='max-width:250px;overflow:hidden'><c>List<{@link org.apache.http.Header} | {@link org.apache.juneau.http.HttpHeader} | {@link org.apache.http.NameValuePair}></c></td>
+ <td style='max-width:250px;overflow:hidden'><c>List<{@link org.apache.http.Header} | {@link org.apache.http.NameValuePair}></c></td>
</tr>
<tr>
<td></td>
@@ -30089,6 +30108,12 @@
</tr>
<tr>
<td></td>
+ <td>{@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_parsers RESTCLIENT_parsers}</td>
+ <td>Parsers.</td>
+ <td style='max-width:250px;overflow:hidden'><ul><li><c>Class<? <jk>extends</jk> {@link org.apache.juneau.parser.Parser}></c><li>{@link org.apache.juneau.parser.Parser}</ul></td>
+ </tr>
+ <tr>
+ <td></td>
<td>{@link org.apache.juneau.rest.client.RestClient#RESTCLIENT_partParser RESTCLIENT_partParser}</td>
<td>Part parser.</td>
<td style='max-width:250px;overflow:hidden'><ul><li><c>Class<{@link org.apache.juneau.httppart.HttpPartParser}></c><li>{@link org.apache.juneau.httppart.HttpPartParser}</ul></td>
@@ -30148,6 +30173,12 @@
<td style='max-width:250px;overflow:hidden'><ul><li><c>Class<{@link org.apache.juneau.serializer.Serializer}></c><li>{@link org.apache.juneau.serializer.Serializer}</ul></td>
</tr>
<tr>
+ <td></td>
+ <td>{@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_serializers RESTCLIENT_serializers}</td>
+ <td>Serializers.</td>
+ <td style='max-width:250px;overflow:hidden'><ul><li><c>Class<? <jk>extends</jk> {@link org.apache.juneau.serializer.Serializer}></c><li>{@link org.apache.juneau.serializer.Serializer}</ul></td>
+ </tr>
+ <tr>
<td>{@link org.apache.juneau.rest.RestContext}</td>
<td>{@link org.apache.juneau.rest.RestContext#REST_allowBodyParam REST_allowBodyParam}</td>
<td>Allow body URL parameter.</td>
@@ -30227,6 +30258,12 @@
</tr>
<tr>
<td></td>
+ <td>{@link org.apache.juneau.rest.RestContext#REST_debugOn REST_debugOn}</td>
+ <td>Debug mode on specified classes/methods.</td>
+ <td style='max-width:250px;overflow:hidden'><c>String</c> (comma-delimited)</td>
+ </tr>
+ <tr>
+ <td></td>
<td>{@link org.apache.juneau.rest.RestContext#REST_defaultCharset REST_defaultCharset}</td>
<td>Default character encoding.</td>
<td style='max-width:250px;overflow:hidden'><c>String</c></td>
@@ -30449,6 +30486,12 @@
</tr>
<tr>
<td></td>
+ <td>{@link org.apache.juneau.rest.RestMethodContext#RESTMETHOD_paths RESTMETHOD_paths}</td>
+ <td>Resource method paths.</td>
+ <td style='max-width:250px;overflow:hidden'><c>String[]</c></td>
+ </tr>
+ <tr>
+ <td></td>
<td>{@link org.apache.juneau.rest.RestMethodContext#RESTMETHOD_path RESTMETHOD_path}</td>
<td>Resource method path.</td>
<td style='max-width:250px;overflow:hidden'><c>String</c></td>
@@ -30485,6 +30528,12 @@
</tr>
<tr>
<td></td>
+ <td>{@link org.apache.juneau.serializer.Serializer#SERIALIZER_keepNullProperties SERIALIZER_keepNullProperties}</td>
+ <td>Don't trim null bean property values.</td>
+ <td style='max-width:250px;overflow:hidden'><jk>boolean</jk></td>
+ </tr>
+ <tr>
+ <td></td>
<td>{@link org.apache.juneau.serializer.Serializer#SERIALIZER_listener SERIALIZER_listener}</td>
<td>Serializer listener.</td>
<td style='max-width:250px;overflow:hidden'><c>Class<{@link org.apache.juneau.serializer.SerializerListener}></c></td>
@@ -30761,8 +30810,8 @@
</p>
<p class='bpcode w800'>
<jc>// Don't do this!</jc>
- <jk>public class</jk> MyInsecureSwap <jk>extends</jk> PojoSwap<ObjectMap,Object> {
- <jk>public</jk> Object swap(BeanSession session, ObjectMap input) <jk>throws</jk> Exception {
+ <jk>public class</jk> MyInsecureSwap <jk>extends</jk> PojoSwap<OMap,Object> {
+ <jk>public</jk> Object swap(BeanSession session, OMap input) <jk>throws</jk> Exception {
<jc>// Security hole!</jc>
<jk>return</jk> Class.<jsf>forName</jsf>(input.getString(<js>"class"</js>)).newInstance();
}
@@ -37781,8 +37830,6 @@
Several bug fixes in the {@link HtmlSerializer} and {@link HtmlParser} classes around the handling of
collections and arrays of beans with <c><ja>@Bean</ja>(typeName)</c> annotations.
<li>
- New {@link org.apache.juneau.ObjectMap(Object...)} constructor.
- <li>
New swaps auto-added to all serializers/parsers:
<ul>
<li class='jc'>{@link org.apache.juneau.transforms.MatchResultSwap}
@@ -37791,11 +37838,292 @@
<li>
{@link org.apache.juneau.html.annotation.Html#noTableHeaders} now can be applied to collections of beans.
<li>
+ New {@link org.apache.juneau.html.annotation.HtmlDoc#asideFloat} setting so that you can position the contents of the aside section on the page.
+ <li>
+ Various minor fixes surrounding HTML serialization.
+ <ul>
+ <li>Collections of beans that were supposed to be serialized as tables were being serialized as lists.
+ <li>Collections of beans with <c><ja>@Bean</ja>(bpi)</c> were not being serialized in the correct column order.
+ </ul>
+ <li>
+ Fixed a bug where a copy constructor can erroneously be recognized as a builder constructor if the class also
+ has a static <c>create</c> method. Net effect was that the copy constructor would needlessly be called during parsing.
+ <li>
+ New {@link org.apache.juneau.collections} package containing various convenience fluent-style collection classes:
+ <ul>
+ <li class='jc'>{@link org.apache.juneau.collections.AList}
+ <li class='jc'>{@link org.apache.juneau.collections.ASet}
+ <li class='jc'>{@link org.apache.juneau.collections.ASortedSet}
+ <li class='jc'>{@link org.apache.juneau.collections.AMap}
+ <li class='jc'>{@link org.apache.juneau.collections.ASortedMap}
+ <li class='jc'>{@link org.apache.juneau.collections.OMap}
+ <li class='jc'>{@link org.apache.juneau.collections.OList}
+ </ul>
+ <li>
+ {@link org.apache.juneau.ObjectMap} is being deprecated and replaced with {@link org.apache.juneau.collections.OMap}.
+ <li>
+ {@link org.apache.juneau.ObjectList} is being deprecated and replaced with {@link org.apache.juneau.collections.OList}.
+ <li>
+ All classes in the {@link org.apache.juneau.http.response} and {@link org.apache.juneau.http.exception} now have <c>header(String,Object)</c>
+ methods for adding response headers.
+ <p class='bpcode w800'>
+ <jc>// Method that performs a BASIC Auth handshake.</jc>
+ <ja>@RestMethod</ja>
+ <jk>public</jk> Ok checkBasicAuth(<ja>@Header</ja>(<js>"Authorization"</js>) String auth) <jk>throws</jk> Unauthorized {
+ <jk>if</jk> (auth == <jk>null</jk>)
+ <jk>throw new</jk> Unauthorized().header(<js>"WWW-Authenticate"</js>, <js>"BASIC realm=\"foo\""</js>);
+ <jk>return</jk> Ok.<jsf>OK</jsf>;
+ }
+ </p>
+ <li>
+ New annotations for multi-part support:
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.http.annotation.Header#multi()}
+ <li class='jm'>{@link org.apache.juneau.http.annotation.Query#multi()}
+ <li class='jm'>{@link org.apache.juneau.http.annotation.FormData#multi()}
+ </ul>
+ <li>
+ {@link org.apache.juneau.BeanContext#BEAN_ignoreRecursions} setting no longer requires {@link org.apache.juneau.BeanContext#BEAN_detectRecursions}
+ to be enabled.
+ <li>
+ Fixed bug in JSON/UON/URL-Encoding serializers where indentation was not correct of first line when {@link org.apache.juneau.BeanTraverseContext#BEANTRAVERSE_initialIndent}
+ used.
+ <li>
+ Fixed bug in JSON/UON/URL-Encoding serializers where properties past the max depth were being serialized as null instead
+ of being treated as null and not being serialized at all.
+ <li>
+ Fixed bug in HTML serializer where tables of maps were not sorted if <jsf>SERIALIZER_sortMaps</jsf> was specified.
+ <li>
+ <jsf>SERIALIZER_trimNullProperties</jsf> has been replaced with {@link org.apache.juneau.serializer.Serializer#SERIALIZER_keepNullProperties SERIALIZER_keepNullProperties}.
+ <li>
+ Improvements to OpenAPI serializer and parser:
+ <ul>
+ <li>Collection format can now be specified on OBJECTs to allow key/value pairs to be delimited with the same support as ARRAYs.
+ <li>New {@link org.apache.juneau.oapi.OpenApiCommon#OAPI_format OAPI_format} and {@link org.apache.juneau.oapi.OpenApiCommon#OAPI_collectionFormat OAPI_collectionFormat} properties.
+ </ul>
+ <li>
+ Convenience methods added to {@link org.apache.juneau.httppart.HttpPartSchema} and related classes to simplify schema definitions:
+ <p class='bpcode w800'>
+ <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+
+ <jc>// Old</jc>
+ HttpPartSchema s = <jsm>schema</jsm>(<js>"object"</js>)
+ .property(<js>"f01"</js>, <jsm>schema</jsm>(<js>"array"</js>).collectionFormat(<js>"pipes"</js>).items(<jsm>schema</jsm>(<js>"string"</js>)))
+ .property(<js>"f02"</js>, <jsm>schema</jsm>(<js>"array"</js>).collectionFormat(<js>"pipes"</js>).items(<jsm>schema</jsm>(<js>"string"</js>, <js>"byte"</js>)))
+ .property(<js>"f03"</js>, <jsm>schema</jsm>(<js>"array"</js>).collectionFormat(<js>"pipes"</js>).items(<jsm>schema</jsm>(<js>"string"</js>, <js>"date-time"</js>)))
+ .build();
+
+ <jc>// New</jc>
+ HttpPartSchema s = <jsm>tObject</jsm>()
+ .p(<js>"f01"</js>, <jsm>tArray</jsm>(<jsm>tString()</jsm>))
+ .p(<js>"f02"</js>, <jsm>tArray</jsm>(<jsm>tByte()</jsm>))
+ .p(<js>"f03"</js>, <jsm>tArray</jsm>(<jsm>tDateTime()</jsm>))
+ .build();
+ </p>
+ <li>
+ Fixes where the bean method/constructor visibility wasn't being used when finding swap methods and constructors.
+ <li>
HTML-Schema support is being deprecated due to low-use and difficulty in maintaining. It will be removed in 9.0.
+ <li>
+ <c>JuneauLogger</c> class is being deprecated. Improvements in logging in Java 8 make it obsolete.
+ <li>
+ Bean filters can now be specified programmatically through a builder API.
+ <p class='bpcode w800'>
+ <jc>// Create a JSON serializer that only includes specified fields on a specific class.</jc>
+ WriterSerializer s = JsonSerializer
+ .<jsm>create</jsm>()
+ .beanFilters(BeanFilter.<jsm>create</jsm>(MyBean.<jk>class</jk>).bpi(<js>"foo,bar,baz"</js>).build())
+ .build();
+ </p>
</ul>
<h5 class='topic w800'>juneau-rest-server</h5>
<ul class='spaced-list'>
+ <li>
+ {@link org.apache.juneau.rest.annotation.Rest}-annotated classes can now implement the following interfaces directly instead of having
+ to define secondary classes and hook them up through annotations:
+ <ul>
+ <li class='jic'>{@link org.apache.juneau.rest.RestCallHandler} - Normally defined through {@link org.apache.juneau.rest.annotation.Rest#callHandler() @Rest.callHandler()}.
+ <li class='jic'>{@link org.apache.juneau.rest.RestInfoProvider} - Normally defined through {@link org.apache.juneau.rest.annotation.Rest#infoProvider() @Rest.infoProvider()}.
+ <li class='jic'>{@link org.apache.juneau.rest.RestCallLogger} - Normally defined through {@link org.apache.juneau.rest.annotation.Rest#callLogger() @Rest.callLogger()}.
+ <li class='jic'>{@link org.apache.juneau.utils.ClasspathResourceFinder} - Normally defined through {@link org.apache.juneau.rest.annotation.Rest#classpathResourceFinder() @Rest.classpathResourceFinder()}.
+ </ul>
+ <li>
+ {@link org.apache.juneau.rest.RestServlet} and {@link org.apache.juneau.rest.BasicRest} now implement the {@link org.apache.juneau.rest.RestCallHandler}, {@link org.apache.juneau.rest.RestInfoProvider}, {@link org.apache.juneau.rest.RestCallLogger}, {@link RestResourceResolver},
+ and {@link org.apache.juneau.utils.ClasspathResourceFinder} interfaces directly and provides the same functionality as {@link org.apache.juneau.rest.BasicRestCallHandler},
+ {@link org.apache.juneau.rest.BasicRestInfoProvider}, {@link org.apache.juneau.rest.BasicRestCallLogger}, {@link BasicRestResourceResolver}, and {@link org.apache.juneau.utils.ClasspathResourceFinderBasic}.
+
+ This makes it easier to tweak these methods without having to implement your own classes.
+ <br>The methods added for {@link org.apache.juneau.rest.RestCallHandler} are:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#execute(HttpServletRequest, HttpServletResponse) execute(HttpServletRequest, HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#createCall(HttpServletRequest, HttpServletResponse) createCall(HttpServletRequest, HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#createRequest(RestCall) createRequest(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#createResponse(RestCall) createResponse(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#handleResponse(RestCall) handleResponse(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#handleNotFound(RestCall) handleNotFound(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#handleError(RestCall,Throwable) handleError(RestCall,Throwable)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#convertThrowable(Throwable) throwable(Throwable)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getSessionObjects(RestRequest req, RestResponse res) getSessionObjects(RestRequest,RestResponse)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#execute(HttpServletRequest, HttpServletResponse) execute(HttpServletRequest, HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#createCall(HttpServletRequest, HttpServletResponse) createCall(HttpServletRequest, HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#createRequest(RestCall) createRequest(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#createResponse(RestCall) createResponse(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#handleResponse(RestCall) handleResponse(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#handleNotFound(RestCall) handleNotFound(RestCall)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#handleError(RestCall,Throwable) handleError(RestCall,Throwable)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#convertThrowable(Throwable) throwable(Throwable)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getSessionObjects(RestRequest req, RestResponse res) getSessionObjects(RestRequest,RestResponse)}
+ </ul>
+ </ul>
+ <br>The methods added for {@link org.apache.juneau.rest.RestInfoProvider} are:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getSwagger(RestRequest) getSwagger(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getSiteName(RestRequest) getSiteName(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getTitle(RestRequest) getTitle(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getDescription(RestRequest) getDescription(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getMethodSummary(Method,RestRequest) getMethodSummary(Method,RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#getMethodDescription(Method,RestRequest) getMethodDescription(Method,RestRequest)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getSwagger(RestRequest) getSwagger(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getSiteName(RestRequest) getSiteName(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getTitle(RestRequest) getTitle(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getDescription(RestRequest) getDescription(RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getMethodSummary(Method,RestRequest) getMethodSummary(Method,RestRequest)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#getMethodDescription(Method,RestRequest) getMethodDescription(Method,RestRequest)}
+ </ul>
+ </ul>
+ <br>The methods added for {@link org.apache.juneau.rest.RestCallLogger} are:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#log(RestCallLoggerConfig,HttpServletRequest,HttpServletResponse) log(RestCallLoggerConfig,HttpServletRequest,HttpServletResponse)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#log(RestCallLoggerConfig,HttpServletRequest,HttpServletResponse) log(RestCallLoggerConfig,HttpServletRequest,HttpServletResponse)}
+ </ul>
+ </ul>
+ <br>The methods added for {@link org.apache.juneau.utils.ClassspathResourceFinder} are:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#findResource(Class,String,Locale) findResource(Class,String,Locale)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#findResource(Class,String,Locale) findResource(Class,String,Locale)}
+ </ul>
+ </ul>
+ <br>The methods added for {@link org.apache.juneau.rest.RestResourceResolver} are:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#resolve(Object,Class,RestContextBuilder,Object...) resolve(Object,Class<T>,RestContextBuilder,Object...)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#resolve(Object,Class,RestContextBuilder,Object...) resolve(Object,Class<T>,RestContextBuilder,Object...)}
+ </ul>
+ </ul>
+ <li>
+ Added the following convenience hook methods on the {@link org.apache.juneau.rest.RestServlet} and {@link org.apache.juneau.rest.BasicRest} classes:
+ <ul>
+ <li class='jac'>{@link org.apache.juneau.rest.RestServlet}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onInit(RestContextBuilder) onInit(RestContextBuilder)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onPostInit(RestContext) onPostInit(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onPostInitChildFirst(RestContext) onPostInitChildFirst(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onDestroy(RestContext) onDestroy(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onStartCall(HttpServletRequest,HttpServletResponse) onStartCall(HttpServletRequest,HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onPreCall(RestRequest,RestResponse) onPreCall(RestRequest,RestResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onPostCall(RestRequest,RestResponse) onPostCall(RestRequest,RestResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.RestServlet#onEndCall(HttpServletRequest,HttpServletResponse) onEndCall(HttpServletRequest,HttpServletResponse)}
+ </ul>
+ <li class='jac'>{@link org.apache.juneau.rest.BasicRest}
+ <ul>
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onInit(RestContextBuilder) onInit(RestContextBuilder)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onPostInit(RestContext) onPostInit(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onPostInitChildFirst(RestContext) onPostInitChildFirst(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onDestroy(RestContext) onDestroy(RestContext)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onStartCall(HttpServletRequest,HttpServletResponse) onStartCall(HttpServletRequest,HttpServletResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onPreCall(RestRequest,RestResponse) onPreCall(RestRequest,RestResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onPostCall(RestRequest,RestResponse) onPostCall(RestRequest,RestResponse)}
+ <li class='jm'>{@link org.apache.juneau.rest.BasicRest#onEndCall(HttpServletRequest,HttpServletResponse) onEndCall(HttpServletRequest,HttpServletResponse)}
+ </ul>
+ </ul>
+ <li>
+ New {@link Rest#debugOn() @Rest(debugOn)} annotation for turning on debug mode using class/method identifiers:
+
+ <h5 class='figure'>Example:</h5>
+ <p class='bcode w800'>
+ <jc>// Turn on debug per-request on the class and always on the doX() method</jc>.
+ <ja>@Rest</ja>(
+ debugOn=<js>"MyResource=per-request,Mysource.doX=true"</js> <jc>// Typically defined via system or env property</jc>.
+ )
+ <jk>public class</jk> MyResource {
+
+ <ja>@RestMethod</ja>
+ <jk>public void</jk> String doX() {
+ ...
+ }
+ </p>
+ <li>
+ {@link org.apache.juneau.rest.BasicRestConfig} has been broken up into {@link org.apache.juneau.rest.BasicRestConfig} and {@link org.apache.juneau.rest.BasicRestMethods} so that
+ you're not forced to implement methods such as <c>getOptions()</c> and <c>getStats()</c> if you're implementing the interface
+ to configure your REST class.
+ <li>
+ Any of the following classes can now be instantiated with <c><jk>public static</jk> <jsm>create</jsm>()</c> methods:
+ <ul>
+ <li class='jc'>{@link org.apache.juneau.rest.RestCallHandler}
+ <li class='jc'>{@link org.apache.juneau.rest.RestCallLogger}
+ <li class='jc'>{@link org.apache.juneau.rest.RestInfoProvider}
+ <li class='jc'>{@link org.apache.juneau.utils.ClasspathResourceFinder}
+ <li class='jc'>{@link org.apache.juneau.rest.RestResourceResolver}
+ <li class='jc'>{@link org.apache.juneau.rest.RestGuard}
+ <li class='jc'>{@link org.apache.juneau.rest.ResponseHandler}
+ </ul>
+ <li>
+ New {@link org.apache.juneau.http.annotation.Path#required() @Path(required)} annotation support.
+ <br>A path can be marked as not-required when the path variable is resolved by a parent resource like so:
+ <p class='bpcode w800'>
+ <ja>@Rest</ja>(path=<js>"/parent/{p1}"</js>,children=Child.<jk>class</jk>)
+ <jk>public class</jk> Parent {
+ ...
+ }
+
+ <ja>@Rest</ja>(path="/child")
+ <jk>public class</jk> Child {
+
+ <ja>@RestMethod</ja>(path="/")
+ <jk>public</jk> String doGet(<ja>@Path</ja>(name=<js>"p1"</js>,required=<jk>false</jk>) String p1) {
+ <jc>// p1 will be null when accessed via "/child"</jc>
+ <jc>// p1 will be non-null when accessed via "/parent/p1/child".</jc>
+ }
+ ...
+ }
+ </p>
+ <br>This allows the child resource to be mapped to multiple parents that may resolve various different path variables.
+ <li>
+ New {@link org.apache.juneau.rest.annotation.RestMethod#paths() @RestMethod(paths)} annotation that allows you to map multiple
+ paths to the same Java method.
+ <br>Example:
+ <p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ paths={<js>"/"</js>,<js>"/{foo}"</js>}
+ )
+ <jk>public</jk> String doGet(<ja>@Path</ja>(name=<js>"foo"</js>,required=<jk>false</jk>) String foo) {...}
+ </p>
</ul>
<h5 class='topic w800'>juneau-rest-server-springboot</h5>
@@ -37819,6 +38147,21 @@
<li>Better integration with HttpClient.
<li>New fluent-style methods with many new convenience methods.
</ul>
+ <li>
+ <ja>@RemoteMethod</ja>-annotated methods can now return {@link java.util.concurrent.Future Futures} and
+ {@link java.util.concurrent.CompletableFuture CompletableFutures} for concurrent processing of requests.
+ <br>Example:
+ <p class='bpcode w800'>
+ <ja>@Remote</ja>
+ <jk>public interface</jk> MyInterface {
+ <jk>public</jk> Future<String> doGet();
+ }
+
+ MyInterface i = client.getRemote(MyInterface.<jk>class</jk>, <js>"http://localhost:12345/myInterface"</js>);
+ Future<String> f = i.doGet();
+ <jc>// Do other stuff.</jc>
+ String result = f.get();
+ </li>p>
</ul>
<h5 class='topic w800'>juneau-doc</h5>
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt b/juneau-doc/src/main/javadoc/resources/docs.txt
index 431f797..3d719fe 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -162,7 +162,7 @@ juneau-marshall.Marshalls = #juneau-marshall.Marshalls, Overview > juneau-marsha
juneau-marshall.MsgPackDetails = #juneau-marshall.MsgPackDetails, Overview > juneau-marshall > MessagePack Details
juneau-marshall.MsgPackDetails.Parsers = #juneau-marshall.MsgPackDetails.Parsers, Overview > juneau-marshall > MessagePack Details > MessagePack Parsers
juneau-marshall.MsgPackDetails.Serializers = #juneau-marshall.MsgPackDetails.Serializers, Overview > juneau-marshall > MessagePack Details > MessagePack Serializers
-juneau-marshall.ObjectMap = #juneau-marshall.ObjectMap, Overview > juneau-marshall > ObjectMap and ObjectList
+juneau-marshall.ObjectMap = #juneau-marshall.ObjectMap, Overview > juneau-marshall > OMap and OList
juneau-marshall.OpenApiDetails = #juneau-marshall.OpenApiDetails, Overview > juneau-marshall > OpenAPI Details
juneau-marshall.OpenApiDetails.Methodology = #juneau-marshall.OpenApiDetails.Methodology, Overview > juneau-marshall > OpenAPI Details > OpenAPI Methodology
juneau-marshall.OpenApiDetails.Parsers = #juneau-marshall.OpenApiDetails.Parsers, Overview > juneau-marshall > OpenAPI Details > OpenAPI Parsers
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index f6ec066..fe695e2 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -27,7 +27,7 @@
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.HttpPartParsers'>HTTP Part Parsers</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ConfigurableProperties'>Configurable Properties</a><span class='update'>8.1.3-updated</span></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ConfigurableAnnotations'>Configurable Annotations</a><span class='update'>8.1.0-new, 8.1.3-updated, <b>8.1.4-updated</b></span></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ObjectMap'>ObjectMap and ObjectList</a></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ObjectMap'>OMap and OList</a><span class='update'>updated-8.1.4</span></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Groups'>SerializerGroups and ParserGroups</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ContextsBuildersSessionsPropertyStores'>Contexts, Builders, Sessions, and PropertyStores</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms'>Transforms</a></p>
@@ -59,7 +59,7 @@
</ol>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.VirtualBeans'>Virtual Beans</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Recursion'>Non-Tree Models and Recursion Detection</a></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ParsingIntoGenericModels'>Parsing into Generic Models</a></p>
+ <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ParsingIntoGenericModels'>Parsing into Generic Models</a><span class='update'>updated-8.1.4</span></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.ReadingContinuousStreams'>Reading Continuous Streams</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.URIs'>URIs</a></p>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.JacksonComparison'>Comparison with Jackson</a></p>
@@ -317,7 +317,7 @@
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies'>REST Proxies</a></p>
<ol>
<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.Remote'>@Remote</a><span class='update'>8.1.2-updated</span></p>
- <li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.RestProxies.RemoteMethod'>@RemoteMethod</a></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>
diff --git a/juneau-doc/src/main/javadoc/resources/juneau-doc.css b/juneau-doc/src/main/javadoc/resources/juneau-doc.css
index fdc1a9b..963ada4 100755
--- a/juneau-doc/src/main/javadoc/resources/juneau-doc.css
+++ b/juneau-doc/src/main/javadoc/resources/juneau-doc.css
@@ -440,6 +440,10 @@ ul.notes>li {
margin-left: -40px;
}
+ul.notes ul li {
+ padding: 10px;
+}
+
.topic a {
border-bottom: 1px dotted #4c6b87;
}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
index d678578..9e1aa2b 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
@@ -105,8 +105,7 @@ public class TestMicroservice {
.json()
.rootUrl(microserviceURI)
.noTrace();
- rc.getHttpClientBuilder()
- .setRetryHandler(
+ rc.retryHandler(
new HttpRequestRetryHandler() {
@Override
public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
index 5cdefa9..f05b49d 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
@@ -149,7 +149,8 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .logTo(Level.SEVERE, ml)
+ .logger(ml)
+ .logRequests(DetailLevel.FULL, Level.SEVERE)
.build()
.post("/bean", bean)
.complete();
@@ -1786,7 +1787,7 @@ public class RestClientTest {
}
@Override
- public void log(String msg) {
+ public void log(Level level, String msg, Object...args) {
lastMessage = msg;
}
}
@@ -3406,11 +3407,23 @@ public class RestClientTest {
.getHeader("X").assertValue("f1=1")
;
}
-//
-// @Test
-// public void o028_beanContext_bpiMap() throws Exception { fail(); }
-//// public RestClientBuilder bpi(Map<String,String> values) {
-//
+
+ @Test
+ public void o028_beanContext_bpiMap() throws Exception {
+ MockRestClient
+ .create(O2R.class)
+ .simpleJson()
+ .bpi(OMap.of("O25", "f2"))
+ .build()
+ .post("/test", new O25().init())
+ .header("X", new O25().init())
+ .run()
+ .getBody().cache().assertValue("{f2:2}")
+ .getHeader("X").assertValue("f2=2")
+ ;
+ }
+// public RestClientBuilder bpi(Map<String,String> values) {
+
// @Test
// public void o029_beanContext_bpiClassString() throws Exception { fail(); }
//// public RestClientBuilder bpi(Class<?> beanClass, String properties) {
@@ -3516,18 +3529,6 @@ public class RestClientTest {
//// public RestClientBuilder examples(String json) {
//
// @Test
-// public void o055_beanContext_excludePropertiesMap() throws Exception { fail(); }
-//// public RestClientBuilder excludeProperties(Map<String,String> values) {
-//
-// @Test
-// public void o056_beanContext_excludePropertiesClassString() throws Exception { fail(); }
-//// public RestClientBuilder excludeProperties(Class<?> beanClass, String properties) {
-//
-// @Test
-// public void o057_beanContext_excludePropertiesStringString() throws Exception { fail(); }
-//// public RestClientBuilder excludeProperties(String beanClassName, String value) {
-//
-// @Test
// public void o058_beanContext_fluentSetters() throws Exception { fail(); }
//// public RestClientBuilder fluentSetters() {
//
@@ -3580,18 +3581,6 @@ public class RestClientTest {
//// public RestClientBuilder implClasses(Map<String,Class<?>> values) {
//
// @Test
-// public void o071_beanContext_includePropertiesMap() throws Exception { fail(); }
-//// public RestClientBuilder includeProperties(Map<String,String> values) {
-//
-// @Test
-// public void o072_beanContext_includePropertiesClassString() throws Exception { fail(); }
-//// public RestClientBuilder includeProperties(Class<?> beanClass, String value) {
-//
-// @Test
-// public void o073_beanContext_includePropertiesStringString() throws Exception { fail(); }
-//// public RestClientBuilder includeProperties(String beanClassName, String value) {
-//
-// @Test
// public void o074_beanContext_locale() throws Exception { fail(); }
//// public RestClientBuilder locale(Locale value) {
//
@@ -3708,7 +3697,7 @@ public class RestClientTest {
//// public RestClientBuilder useJavaBeanIntrospector(boolean value) {
- // //-----------------------------------------------------------------------------------------------------------------
+// //-----------------------------------------------------------------------------------------------------------------
// // Context properties
// //-----------------------------------------------------------------------------------------------------------------
//
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallLogger.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallLogger.java
index 620c129..d5cf396 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallLogger.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCallLogger.java
@@ -31,8 +31,6 @@ import org.apache.http.util.*;
* <p>
* Use the {@link RestClientBuilder#logTo(Level, Logger)} and {@link RestCall#logTo(Level, Logger)} methods to create
* instances of this class.
- *
- * @deprecated Use {@link org.apache.juneau.rest.client2.logging.RestCallLogger}
*/
@Deprecated
public class RestCallLogger extends RestCallInterceptor {
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index ca18271..abaf32a 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -2352,6 +2352,8 @@ public class RestClientBuilder extends BeanContextBuilder {
return set(UON_paramFormat, "PLAINTEXT");
}
+ // <CONFIGURATION-PROPERTIES>
+
@Override /* BeanContextBuilder */
public RestClientBuilder beanClassVisibility(Visibility value) {
super.beanClassVisibility(value);
@@ -2503,7 +2505,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* BeanContextBuilder */
- public RestClientBuilder bpi(Map<String,String> values) {
+ public RestClientBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -2521,7 +2523,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* BeanContextBuilder */
- public RestClientBuilder bpx(Map<String,String> values) {
+ public RestClientBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
@@ -2539,7 +2541,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* BeanContextBuilder */
- public RestClientBuilder bpro(Map<String,String> values) {
+ public RestClientBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -2557,7 +2559,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* BeanContextBuilder */
- public RestClientBuilder bpwo(Map<String,String> values) {
+ public RestClientBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -2931,6 +2933,8 @@ public class RestClientBuilder extends BeanContextBuilder {
return this;
}
+ // </CONFIGURATION-PROPERTIES>
+
//------------------------------------------------------------------------------------------------
// Passthrough methods for HttpClientBuilder.
//------------------------------------------------------------------------------------------------
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 db0f2ca..50f57ac 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
@@ -13,15 +13,17 @@
package org.apache.juneau.rest.client2;
import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.AddFlag.*;
import static org.apache.juneau.httppart.HttpPartType.*;
-import static org.apache.juneau.rest.client2.AddFlag.*;
import static org.apache.juneau.rest.client2.RestClientUtils.*;
+import static java.util.logging.Level.*;
import java.io.*;
import java.lang.reflect.*;
import java.lang.reflect.Proxy;
import java.net.*;
import java.net.URI;
+import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
@@ -62,7 +64,6 @@ import org.apache.juneau.parser.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.remote.*;
import org.apache.juneau.rest.client.remote.*;
-import org.apache.juneau.rest.client2.logging.*;
import org.apache.juneau.serializer.*;
import org.apache.juneau.urlencoding.*;
import org.apache.juneau.utils.*;
@@ -735,7 +736,6 @@ import org.apache.http.client.CookieStore;
* <ul class='javatree'>
* <li class='jc'>{@link RestClientBuilder}
* <ul>
- * <li class='jm'>{@link RestClientBuilder#getHttpClientBuilder() getHttpClientBuilder()}
* <li class='jm'>{@link RestClientBuilder#httpClientBuilder(HttpClientBuilder) httpClientBuilder(HttpClientBuilder)}
* <li class='jm'>{@link RestClientBuilder#createHttpClientBuilder() createHttpClientBuilder()}
* <li class='jm'>{@link RestClientBuilder#createHttpClient() createHttpClient()}
@@ -832,18 +832,15 @@ import org.apache.http.client.CookieStore;
* <ul class='javatree'>
* <li class='jc'>{@link RestClientBuilder}
* <ul>
- * <li class='jm'>{@link RestClientBuilder#logTo(Level,Logger) logTo(Level,Logger)}
+ * <li class='jm'>{@link RestClientBuilder#logger(Logger) logger(Logger)}
* <li class='jm'>{@link RestClientBuilder#logToConsole() logToConsole()}
- * </ul>
- * <li class='jc'>{@link RestRequest}
- * <ul>
- * <li class='jm'>{@link RestRequest#logTo(Level,Logger) logTo(Level,Logger)}
- * <li class='jm'>{@link RestRequest#logToConsole() logToConsole()}
+ * <li class='jm'>{@link RestClientBuilder#logToConsole(boolean) logToConsole(boolea )}
+ * <li class='jm'>{@link RestClientBuilder#logRequests(DetailLevel,Level) logRequests(DetailLevel,Level)}
* </ul>
* </ul>
*
* <p class='notes w900'>
- * It should be noted that if you enable logging, response bodies will be cached by default which may introduce
+ * It should be noted that if you enable request logging detail level {@link DetailLevel#FULL}, response bodies will be cached by default which may introduce
* a performance penalty.
*
* <p class='w900'>
@@ -1323,6 +1320,171 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
public static final String RESTCLIENT_leakDetection = PREFIX + "leakDetection.b";
/**
+ * Configuration property: Logger.
+ *
+ * <h5 class='section'>Property:</h5>
+ * <ul class='spaced-list'>
+ * <li><b>ID:</b> {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logger RESTCLIENT_logger}
+ * <li><b>Name:</b> <js>"RestClient.logger.o"</js>
+ * <li><b>Data type:</b>
+ * <ul>
+ * <li>{@link java.util.logging.Logger}
+ * </ul>
+ * <li><b>Default:</b> <c>Logger.<jsm>getLogger</jsm>(RestClient.<jk>class</jk>.getName())</c>
+ * <li><b>Methods:</b>
+ * <ul>
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logger(Logger)}
+ * </ul>
+ * </ul>
+ *
+ * <h5 class='section'>Description:</h5>
+ * <p>
+ * Specifies the logger to use for logging.
+ */
+ public static final String RESTCLIENT_logger = PREFIX + "logger.o";
+
+ /**
+ * Configuration property: Log to console.
+ *
+ * <h5 class='section'>Property:</h5>
+ * <ul class='spaced-list'>
+ * <li><b>ID:</b> {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logToConsole RESTCLIENT_logToConsole}
+ * <li><b>Name:</b> <js>"RestClient.logToConsole.b"</js>
+ * <li><b>System property:</b> <c>RestClient.logToConsole</c>
+ * <li><b>Environment variable:</b> <c>RESTCLIENT_LOGTOCONSOLE</c>
+ * <li><b>Data type:</b>
+ * <ul>
+ * <li><jk>boolean</jk>
+ * </ul>
+ * <li><b>Default:</b> <jk>false</jk>
+ * <li><b>Methods:</b>
+ * <ul>
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logToConsole()}
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logToConsole(boolean)}
+ * </ul>
+ * </ul>
+ *
+ * <h5 class='section'>Description:</h5>
+ * <p>
+ * When enabled, log messages are sent to the console in addition to the existing logger.
+ */
+ public static final String RESTCLIENT_logToConsole = PREFIX + "logToConsole.b";
+
+ /**
+ * Configuration property: Log requests.
+ *
+ * <h5 class='section'>Property:</h5>
+ * <ul class='spaced-list'>
+ * <li><b>ID:</b> {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logRequests RESTCLIENT_logRequests}
+ * <li><b>Name:</b> <js>"RestClient.logRequests.s"</js>
+ * <li><b>System property:</b> <c>RestClient.logRequests</c>
+ * <li><b>Environment variable:</b> <c>RESTCLIENT_LOGREQUESTS</c>
+ * <li><b>Data type:</b>
+ * <ul>
+ * <li>{@link org.apache.juneau.DetailLevel}
+ * </ul>
+ * <li><b>Default:</b> {@link org.apache.juneau.DetailLevel#NONE}
+ * <li><b>Methods:</b>
+ * <ul>
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logRequests(DetailLevel,Level)}
+ * </ul>
+ * </ul>
+ *
+ * <h5 class='section'>Description:</h5>
+ * <p>
+ * Causes requests/responses to be logged at the specified log level at the end of the request.
+ *
+ * <p>
+ * <jsf>SIMPLE</jsf> detail produces a log message like the following:
+ * <p class='bpcode w800'>
+ * POST http://localhost:10000/testUrl, HTTP/1.1 200 OK
+ * </p>
+ *
+ * <p>
+ * <jsf>FULL</jsf> detail produces a log message like the following:
+ * <p class='bpcode w800 console'>
+ * === HTTP Call (outgoing) =======================================================
+ * === REQUEST ===
+ * POST http://localhost:10000/testUrl
+ * ---request headers---
+ * Debug: true
+ * No-Trace: true
+ * Accept: application/json
+ * ---request entity---
+ * Content-Type: application/json
+ * ---request content---
+ * {"foo":"bar","baz":123}
+ * === RESPONSE ===
+ * HTTP/1.1 200 OK
+ * ---response headers---
+ * Content-Type: application/json;charset=utf-8
+ * Content-Length: 21
+ * Server: Jetty(8.1.0.v20120127)
+ * ---response content---
+ * {"message":"OK then"}
+ * === END ========================================================================
+ * </p>
+ *
+ * <p>
+ * By default, the message is logged to the default logger. It can be logged to a different logger via the
+ * {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logger} setting or logged to the console using the
+ * {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logToConsole} setting.
+ */
+ public static final String RESTCLIENT_logRequests = PREFIX + "logRequests.s";
+
+ /**
+ * Configuration property: Log requests log level.
+ *
+ * <h5 class='section'>Property:</h5>
+ * <ul class='spaced-list'>
+ * <li><b>ID:</b> {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logRequestsLevel RESTCLIENT_logRequestsLevel}
+ * <li><b>Name:</b> <js>"RestClient.logRequestsLevel.s"</js>
+ * <li><b>System property:</b> <c>RestClient.logRequestsLevel</c>
+ * <li><b>Environment variable:</b> <c>RESTCLIENT_LOGREQUESTLEVEL</c>
+ * <li><b>Data type:</b>
+ * <ul>
+ * <li>{@link java.util.logging.Level}
+ * </ul>
+ * <li><b>Default:</b> {@link java.util.logging.Level#INFO}
+ * <li><b>Methods:</b>
+ * <ul>
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logRequests(DetailLevel,Level)}
+ * </ul>
+ * </ul>
+ *
+ * <h5 class='section'>Description:</h5>
+ * <p>
+ * Used in combination with {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logRequests} to specify the
+ * level to log request messages to.
+ */
+ public static final String RESTCLIENT_logRequestsLevel = PREFIX + "logRequestsLevel.s";
+
+ /**
+ * Configuration property: Log requests predicate.
+ *
+ * <h5 class='section'>Property:</h5>
+ * <ul class='spaced-list'>
+ * <li><b>ID:</b> {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logRequestsPredicate RESTCLIENT_logRequestsPredicate}
+ * <li><b>Name:</b> <js>"RestClient.logRequestsPredicate.o"</js>
+ * <li><b>Data type:</b>
+ * <ul>
+ * <li>{@link java.util.function.BiPredicate}<{@link org.apache.juneau.rest.client2.RestRequest},{@link org.apache.juneau.rest.client2.RestResponse}>
+ * </ul>
+ * <li><b>Default:</b> <c>(req,res) -> true</c>
+ * <li><b>Methods:</b>
+ * <ul>
+ * <li class='jm'>{@link org.apache.juneau.rest.client2.RestClientBuilder#logRequests(DetailLevel,Level)}
+ * </ul>
+ * </ul>
+ *
+ * <h5 class='section'>Description:</h5>
+ * <p>
+ * Used in combination with {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logRequests} to specify the
+ * level to log request messages to.
+ */
+ public static final String RESTCLIENT_logRequestsPredicate = PREFIX + "logRequestsPredicate.o";
+
+ /**
* Configuration property: Parsers.
*
* <h5 class='section'>Property:</h5>
@@ -1507,6 +1669,11 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
private final String rootUrl;
private volatile boolean isClosed = false;
private final StackTraceElement[] creationStack;
+ private final Logger logger;
+ final DetailLevel logRequests;
+ final BiPredicate<RestRequest,RestResponse> logRequestsPredicate;
+ final Level logRequestsLevel;
+ private final boolean logToConsole;
private StackTraceElement[] closedStack;
// These are read directly by RestCall.
@@ -1537,6 +1704,9 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
private static final
Predicate<Integer> ERROR_CODES_DEFAULT = x -> x>=400;
+ private static final
+ BiPredicate<RestRequest,RestResponse> LOG_REQUESTS_PREDICATE_DEFAULT = (req,res) -> true;
+
/**
* Constructor.
*
@@ -1552,6 +1722,11 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
this.executorServiceShutdownOnClose = getBooleanProperty(RESTCLIENT_executorServiceShutdownOnClose, false);
this.rootUrl = StringUtils.nullIfEmpty(getStringProperty(RESTCLIENT_rootUri, "").replaceAll("\\/$", ""));
this.leakDetection = getBooleanProperty(RESTCLIENT_leakDetection, debug);
+ this.logger = getInstanceProperty(RESTCLIENT_logger, Logger.class, Logger.getLogger(RestClient.class.getName()));
+ this.logRequests = getInstanceProperty(RESTCLIENT_logRequests, DetailLevel.class, debug ? DetailLevel.FULL : DetailLevel.NONE);
+ this.logRequestsLevel = getInstanceProperty(RESTCLIENT_logRequestsLevel, Level.class, debug ? Level.WARNING : Level.OFF);
+ this.logToConsole = getBooleanProperty(RESTCLIENT_logToConsole, debug);
+ this.logRequestsPredicate = getInstanceProperty(RESTCLIENT_logRequestsPredicate, BiPredicate.class, LOG_REQUESTS_PREDICATE_DEFAULT);
SerializerGroupBuilder sgb = SerializerGroup.create();
for (Object o : getArrayProperty(RESTCLIENT_serializers, Object.class)) {
@@ -1605,10 +1780,7 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
this.callHandler = getInstanceProperty(RESTCLIENT_callHandler, RestCallHandler.class, BasicRestCallHandler.class, ResourceResolver.FUZZY, ps, this);
- RestCallInterceptor[] rci = getInstanceArrayProperty(RESTCLIENT_interceptors, RestCallInterceptor.class, new RestCallInterceptor[0]);
- if (debug)
- rci = ArrayUtils.append(rci, new ConsoleRestCallLogger());
- this.interceptors = rci;
+ this.interceptors = getInstanceArrayProperty(RESTCLIENT_interceptors, RestCallInterceptor.class, new RestCallInterceptor[0]);
creationStack = debug ? Thread.currentThread().getStackTrace() : null;
}
@@ -2695,20 +2867,37 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
for (StackTraceElement e : creationStack)
sb.append("\n\t" + e); // NOT DEBUG
}
- log(sb.toString());
+ log(WARNING, sb.toString());
}
}
/**
- * Captures log messages produced by this class.
+ * Logs a message.
*
- * <p>
- * Default behavior is just to print to STDERR.
+ * @param level The log level.
+ * @param t Thrown exception. Can be <jk>null</jk>.
+ * @param msg The message.
+ * @param args Optional message arguments.
+ */
+ protected void log(Level level, Throwable t, String msg, Object...args) {
+ logger.log(level, t, ()->args.length == 0 ? msg : MessageFormat.format(msg, args));
+ if (logToConsole) {
+ System.err.println(msg);
+ t.printStackTrace();
+ }
+ }
+
+ /**
+ * Logs a message.
*
- * @param msg The message to log.
+ * @param level The log level.
+ * @param msg The message with {@link MessageFormat}-style arguments.
+ * @param args The arguments.
*/
- protected void log(String msg) {
- System.err.println(msg);
+ protected void log(Level level, String msg, Object...args) {
+ logger.log(level, msg, args);
+ if (logToConsole)
+ System.err.println(MessageFormat.format(msg, args));
}
//------------------------------------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index 5061d6f..47edce9 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -23,6 +23,7 @@ import static org.apache.juneau.serializer.WriterSerializer.*;
import static org.apache.juneau.oapi.OpenApiCommon.*;
import static org.apache.juneau.uon.UonSerializer.*;
+import java.io.*;
import java.lang.annotation.*;
import java.lang.reflect.*;
import java.net.*;
@@ -63,9 +64,7 @@ import org.apache.juneau.parser.*;
import org.apache.juneau.plaintext.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.client2.ext.*;
-import org.apache.juneau.rest.client2.logging.*;
import org.apache.juneau.serializer.*;
-import org.apache.juneau.soap.*;
import org.apache.juneau.svl.*;
import org.apache.juneau.uon.*;
import org.apache.juneau.urlencoding.*;
@@ -107,6 +106,16 @@ public class RestClientBuilder extends BeanContextBuilder {
this.httpClientBuilder = httpClientBuilder != null ? httpClientBuilder : getHttpClientBuilder();
}
+ /**
+ * No-arg constructor.
+ *
+ * <p>
+ * Provided so that this class can be easily subclassed.
+ */
+ protected RestClientBuilder() {
+ super(null);
+ }
+
@Override /* ContextBuilder */
public RestClient build() {
set(RESTCLIENT_httpClient, getHttpClient());
@@ -119,46 +128,40 @@ public class RestClientBuilder extends BeanContextBuilder {
//------------------------------------------------------------------------------------------------------------------
/**
- * Convenience method for specifying all available transmission types.
- *
- * @return This object (for method chaining).
- */
- @SuppressWarnings("unchecked")
- public RestClientBuilder universal() {
- return
- serializers(
- JsonSerializer.class,
- SimpleJsonSerializer.class,
- HtmlDocSerializer.class,
- HtmlStrippedDocSerializer.class,
- HtmlSchemaDocSerializer.class,
- JsonSchemaSerializer.class,
- XmlDocSerializer.class,
- UonSerializer.class,
- UrlEncodingSerializer.class,
- OpenApiSerializer.class,
- MsgPackSerializer.class,
- SoapXmlSerializer.class,
- PlainTextSerializer.class
- )
- .parsers(
- JsonParser.class,
- SimpleJsonParser.class,
- XmlParser.class,
- HtmlParser.class,
- UonParser.class,
- UrlEncodingParser.class,
- OpenApiParser.class,
- MsgPackParser.class,
- PlainTextParser.class
- );
- }
-
- /**
- * Convenience method for specifying JSON as the transmission media type.
+ * Convenience method for specifying JSON as the marshalling transmission media type.
*
* <p>
- * Identical to calling <code>serializer(JsonSerializer.<jk>class</jk>).parser(JsonParser.<jk>class</jk>)</code>.
+ * {@link JsonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link JsonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"application/json"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"application/json"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #xml()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(JsonSerializer.<jk>class</jk>).parser(JsonParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses JSON marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().json().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -168,10 +171,44 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying Simple JSON as the transmission media type.
+ * Convenience method for specifying Simplified JSON as the marshalling transmission media type.
+ *
+ * <p>
+ * Simplified JSON is typically useful for automated tests because you can do simple string comparison of results
+ * without having to escape lots of quotes.
*
* <p>
- * Identical to calling <code>serializer(SimpleJsonSerializer.<jk>class</jk>).parser(JsonParser.<jk>class</jk>)</code>.
+ * {@link SimpleJsonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link JsonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"application/json"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"application/json+simple"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #xml()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(SimpleJsonSerializer.<jk>class</jk>).parser(JsonParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses Simplified JSON marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().simpleJson().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -181,10 +218,40 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying XML as the transmission media type.
+ * Convenience method for specifying XML as the marshalling transmission media type.
*
* <p>
- * Identical to calling <code>serializer(XmlSerializer.<jk>class</jk>).parser(XmlParser.<jk>class</jk>)</code>.
+ * {@link XmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link XmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/xml"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/xml"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(XmlSerializer.<jk>class</jk>).parser(XmlParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses XML marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().xml().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -194,10 +261,43 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying HTML as the transmission media type.
+ * Convenience method for specifying HTML as the marshalling transmission media type.
*
* <p>
- * Identical to calling <code>serializer(HtmlSerializer.<jk>class</jk>).parser(HtmlParser.<jk>class</jk>)</code>.
+ * POJOs are converted to HTML without any sort of doc wrappers.
+ *
+ * <p>
+ * {@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/html"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/html"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(HtmlSerializer.<jk>class</jk>).parser(HtmlParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses HTML marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().html().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -207,10 +307,136 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying plain-text as the transmission media type.
+ * Convenience method for specifying HTML DOC as the marshalling transmission media type.
+ *
+ * <p>
+ * POJOs are converted to fully renderable HTML pages.
+ *
+ * <p>
+ * {@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/html"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/html"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(HtmlDocSerializer.<jk>class</jk>).parser(HtmlParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses HTML Doc marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().htmlDoc().build();
+ * </p>
+ *
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder htmlDoc() {
+ return serializer(HtmlDocSerializer.class).parser(HtmlParser.class);
+ }
+
+ /**
+ * Convenience method for specifying Stripped HTML DOC as the marshalling transmission media type.
+ *
+ * <p>
+ * Same as {@link #htmlDoc()} but without the header and body tags and page title and description.
+ *
+ * <p>
+ * {@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/html+stripped"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/html+stripped"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(HtmlStrippedDocSerializer.<jk>class</jk>).parser(HtmlParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses HTML Stripped Doc marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().htmlStrippedDoc().build();
+ * </p>
+ *
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder htmlStrippedDoc() {
+ return serializer(HtmlStrippedDocSerializer.class).parser(HtmlParser.class);
+ }
+
+ /**
+ * Convenience method for specifying Plain Text as the marshalling transmission media type.
+ *
+ * <p>
+ * Plain text marshalling typically only works on simple POJOs that can be converted to and from strings using
+ * swaps, swap methods, etc...
*
* <p>
- * Identical to calling <code>serializer(PlainTextSerializer.<jk>class</jk>).parser(PlainTextParser.<jk>class</jk>)</code>.
+ * {@link PlainTextSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link PlainTextParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/plain"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/plain"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(PlainTextSerializer.<jk>class</jk>).parser(PlainTextParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses Plain Text marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().plainText().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -220,10 +446,43 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying MessagePack as the transmission media type.
+ * Convenience method for specifying MessagePack as the marshalling transmission media type.
+ *
+ * <p>
+ * MessagePack is a binary equivalent to JSON that takes up considerably less space than JSON.
*
* <p>
- * Identical to calling <code>serializer(MsgPackSerializer.<jk>class</jk>).parser(MsgPackParser.<jk>class</jk>)</code>.
+ * {@link MsgPackSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link MsgPackParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"octal/msgpack"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"octal/msgpack"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(MsgPackSerializer.<jk>class</jk>).parser(MsgPackParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses MessagePack marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().msgPack().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -233,10 +492,44 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying UON as the transmission media type.
+ * Convenience method for specifying UON as the marshalling transmission media type.
+ *
+ * <p>
+ * UON is Url-Encoding Object notation that is equivalent to JSON but suitable for transmission as URL-encoded
+ * query and form post values.
*
* <p>
- * Identical to calling <code>serializer(UonSerializer.<jk>class</jk>).parser(UonParser.<jk>class</jk>)</code>.
+ * {@link UonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * {@link UonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/uon"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/uon"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(UonSerializer.<jk>class</jk>).parser(UonParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses UON marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().uon().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -246,10 +539,42 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying URL-Encoding as the transmission media type.
+ * Convenience method for specifying URL-Encoding as the marshalling transmission media type.
*
* <p>
- * Identical to calling <code>serializer(UrlEncodingSerializer.<jk>class</jk>).parser(UrlEncodingParser.<jk>class</jk>)</code>.
+ * {@link UrlEncodingSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * <li>This serializer is NOT used when using the {@link RestRequest#formData(String, Object)} (and related) methods for constructing
+ * the request body. Instead, the part serializer specified via {@link #partSerializer(Class)} is used.
+ * </ul>
+ * <p>
+ * {@link UrlEncodingParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"application/x-www-form-urlencoded"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"application/x-www-form-urlencoded"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(UrlEncodingSerializer.<jk>class</jk>).parser(UrlEncodingParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses URL-Encoded marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().urlEnc().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -259,10 +584,46 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Convenience method for specifying URL-Encoding as the transmission media type.
+ * Convenience method for specifying OpenAPI as the marshalling transmission media type.
+ *
+ * <p>
+ * OpenAPI is a language that allows serialization to formats that use {@link HttpPartSchema} objects to describe their structure.
*
* <p>
- * Identical to calling <code>serializer(OpenApiSerializer.<jk>class</jk>).parser(OpenApiParser.<jk>class</jk>)</code>.
+ * {@link OpenApiSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * <li>Typically the {@link RestRequest#body(Object, HttpPartSchema)} method will be used to specify the body of the request with the
+ * schema describing it's structure.
+ * </ul>
+ * <p>
+ * {@link OpenApiParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * <li>Typically the {@link RestResponseBody#schema(HttpPartSchema)} method will be used to specify the structure of the response body.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header will be set to <js>"text/openapi"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)}.
+ * <p>
+ * <c>Content-Type</c> request header will be set to <js>"text/openapi"</js> unless overridden
+ * by {@link #header(String,Object)} or {@link #contentType(Object)}, or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)}.
+ * <p>
+ * Can be combined with other marshaller setters such as {@link #json()} to provide support for multiple languages.
+ * <ul>
+ * <li>When multiple languages are supported, the <c>Accept</c> and <c>Content-Type</c> headers control which marshallers are used, or uses the
+ * last-enabled language if the headers are not set.
+ * </ul>
+ * <p>
+ * Identical to calling <c>serializer(OpenApiSerializer.<jk>class</jk>).parser(OpenApiParser.<jk>class</jk>)</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses OpenAPI marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().openApi().build();
+ * </p>
*
* @return This object (for method chaining).
*/
@@ -271,6 +632,65 @@ public class RestClientBuilder extends BeanContextBuilder {
return serializer(OpenApiSerializer.class).parser(OpenApiParser.class);
}
+ /**
+ * Convenience method for specifying all available transmission types.
+ *
+ * <p>
+ * All basic Juneau serializers will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
+ * <ul>
+ * <li>The serializers can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * All basic Juneau parsers will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
+ * <ul>
+ * <li>The parsers can be configured using any of the parser property setters (e.g. {@link #strict()}),
+ * bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+ * </ul>
+ * <p>
+ * <c>Accept</c> request header must be set by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request
+ * via {@link RestRequest#header(String,Object)} or {@link RestRequest#accept(Object)} in order for the correct parser to be selected.
+ * <p>
+ * <c>Content-Type</c> request header must be set by {@link #header(String,Object)} or {@link #contentType(Object)},
+ * or per-request via {@link RestRequest#header(String,Object)} or {@link RestRequest#contentType(Object)} in order for the correct serializer to be selected.
+ * <p>
+ * Similar to calling <c>json().simpleJson().html().xml().uon().urlEnc().openApi().msgPack().plainText()</c>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses universal marshalling.</jc>
+ * RestClient c = RestClient.<jsm>create</jsm>().universal().build();
+ * </p>
+ *
+ * @return This object (for method chaining).
+ */
+ @SuppressWarnings("unchecked")
+ public RestClientBuilder universal() {
+ return
+ serializers(
+ JsonSerializer.class,
+ SimpleJsonSerializer.class,
+ HtmlSerializer.class,
+ XmlSerializer.class,
+ UonSerializer.class,
+ UrlEncodingSerializer.class,
+ OpenApiSerializer.class,
+ MsgPackSerializer.class,
+ PlainTextSerializer.class
+ )
+ .parsers(
+ JsonParser.class,
+ SimpleJsonParser.class,
+ XmlParser.class,
+ HtmlParser.class,
+ UonParser.class,
+ UrlEncodingParser.class,
+ OpenApiParser.class,
+ MsgPackParser.class,
+ PlainTextParser.class
+ );
+ }
+
//------------------------------------------------------------------------------------------------------------------
// HttpClientBuilder
//------------------------------------------------------------------------------------------------------------------
@@ -285,9 +705,23 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* The predefined method returns an {@link HttpClientBuilder} with the following settings:
* <ul>
- * <li>Lax redirect strategy.
+ * <li>{@link AllRedirectsStrategy All redirect strategy}.
* </ul>
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// A RestClientBuilder that provides it's own customized HttpClientBuilder.</jc>
+ * <jk>public class</jk> MyRestClientBuilder <jk>extends</jk> RestClientBuilder {
+ * <ja>@Override</ja>
+ * <jk>protected</jk> HttpClientBuilder createHttpClientBuilder() {
+ * <jk>return</jk> HttpClientBuilder.<jsm>create</jsm>();
+ * }
+ * }
+ *
+ * <jc>// Instantiate.</jc>
+ * RestClient c = <jk>new</jk> MyRestClientBuilder().build();
+ * </p>
+ *
* @return The HTTP client builder to use to create the HTTP client.
*/
protected HttpClientBuilder createHttpClientBuilder() {
@@ -295,28 +729,20 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Returns the {@link HttpClientBuilder} that will be used to create the {@link HttpClient} used by {@link RestClient}.
- *
- * <p>
- * This method can be used to make customizations to the {@link HttpClient}.
- *
- * <p>
- * If not set via {@link #httpClientBuilder(HttpClientBuilder)}, then this object is the one created by {@link #createHttpClientBuilder()}.
- *
- * @return The {@link HttpClientBuilder} that will be used to create the {@link HttpClient} used by {@link RestClient}.
- */
- public HttpClientBuilder getHttpClientBuilder() {
- if (httpClientBuilder == null)
- httpClientBuilder = createHttpClientBuilder();
- return httpClientBuilder;
- }
-
- /**
* Sets the {@link HttpClientBuilder} that will be used to create the {@link HttpClient} used by {@link RestClient}.
*
* <p>
* This can be used to bypass the builder created by {@link #createHttpClientBuilder()} method.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses a customized HttpClientBuilder.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .httpClientBuilder(HttpClientBuilder.<jsm>create</jsm>())
+ * .build();
+ * </p>
+ *
* @param value The {@link HttpClientBuilder} that will be used to create the {@link HttpClient} used by {@link RestClient}.
* @return This object (for method chaining).
*/
@@ -326,6 +752,12 @@ public class RestClientBuilder extends BeanContextBuilder {
return this;
}
+ final HttpClientBuilder getHttpClientBuilder() {
+ if (httpClientBuilder == null)
+ httpClientBuilder = createHttpClientBuilder();
+ return httpClientBuilder;
+ }
+
//------------------------------------------------------------------------------------------------------------------
// HttpClient
//------------------------------------------------------------------------------------------------------------------
@@ -345,6 +777,20 @@ public class RestClientBuilder extends BeanContextBuilder {
* The default implementation returns an instance of {@link HttpClient} using the client builder returned by
* {@link #createHttpClientBuilder()}.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// A RestClientBuilder that provides it's own customized HttpClient.</jc>
+ * <jk>public class</jk> MyRestClientBuilder <jk>extends</jk> RestClientBuilder {
+ * <ja>@Override</ja>
+ * <jk>protected</jk> HttpClientBuilder createHttpClient() {
+ * <jk>return</jk> HttpClientBuilder.<jsm>create</jsm>().build();
+ * }
+ * }
+ *
+ * <jc>// Instantiate.</jc>
+ * RestClient c = <jk>new</jk> MyRestClientBuilder().build();
+ * </p>
+ *
* @return The HTTP client to use.
*/
protected CloseableHttpClient createHttpClient() {
@@ -357,53 +803,183 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Returns the {@link HttpClient} to be used to handle all HTTP communications with the target server.
+ * Sets the {@link HttpClient} to be used to handle all HTTP communications with the target server.
+ *
+ * <p>
+ * This can be used to bypass the client created by {@link #createHttpClient()} method.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses a customized HttpClient.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .httpClient(HttpClientBuilder.<jsm>create</jsm>().build())
+ * .build();
+ * </p>
+ *
+ * @param value The {@link HttpClient} to be used to handle all HTTP communications with the target server.
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder httpClient(CloseableHttpClient value) {
+ this.httpClient = value;
+ return this;
+ }
+
+ final CloseableHttpClient getHttpClient() {
+ return httpClient != null ? httpClient : createHttpClient();
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ // Logging.
+ //------------------------------------------------------------------------------------------------------------------
+
+ /**
+ * Configuration property: Logger.
+ *
+ * <p>
+ * Specifies the logger to use for logging.
+ *
+ * <p>
+ * If not specified, uses the following logger:
+ * <p class='bpcode w800'>
+ * Logger.<jsm>getLogger</jsm>(RestClient.<jk>class</jk>.getName());
+ * </p>
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that logs messages to a special logger.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .logger(Logger.<jsm>getLogger</jsm>(<js>"MyLogger"</js>)) <jc>// Log to MyLogger logger.</jc>
+ * .logToConsole() <jc>// Also log to console.</jc>
+ * .logRequests(<jsf>FULL</jsf>, <jsf>WARNING</jsf>) <jc>// Log requests with full detail at WARNING level.</jc>
+ * .build();
+ * </p>
*
- * @return The {@link HttpClient} to be used to handle all HTTP communications with the target server.
+ * <ul class='seealso'>
+ * <li class='jf'>{@link RestClient#RESTCLIENT_logger}
+ * </ul>
+ *
+ * @param value The logger to use for logging.
+ * @return This object (for method chaining).
*/
- public CloseableHttpClient getHttpClient() {
- return httpClient != null ? httpClient : createHttpClient();
+ @ConfigurationProperty
+ public RestClientBuilder logger(Logger value) {
+ return set(RESTCLIENT_logger, value);
}
/**
- * Sets the {@link HttpClient} to be used to handle all HTTP communications with the target server.
+ * Configuration property: Log to console.
*
* <p>
- * This can be used to bypass the client created by {@link #createHttpClient()} method.
+ * Specifies to log messages to the console.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that logs messages to a special logger.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .logToConsole()
+ * .logRequests(<jsf>FULL</jsf>, <jsf>INFO</jsf>) <jc>// Level is ignored when logging to console.</jc>
+ * .build();
+ * </p>
+ *
+ * <ul class='seealso'>
+ * <li class='jf'>{@link RestClient#RESTCLIENT_logToConsole}
+ * </ul>
*
- * @param value The {@link HttpClient} to be used to handle all HTTP communications with the target server.
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public RestClientBuilder httpClient(CloseableHttpClient value) {
- this.httpClient = value;
- return this;
+ public RestClientBuilder logToConsole() {
+ return logToConsole(true);
}
- //------------------------------------------------------------------------------------------------------------------
- // Logging.
- //------------------------------------------------------------------------------------------------------------------
-
/**
- * Causes requests/responses to be logged to the specified logger at the specified log level.
+ * Configuration property: Log to console.
+ *
+ * <p>
+ * Specifies to log messages to the console.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that logs messages to a special logger.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .logToConsole(<jk>true</jk>)
+ * .logRequests(<jsf>FULL</jsf>, <jsf>INFO</jsf>) <jc>// Level is ignored when logging to console.</jc>
+ * .build();
+ * </p>
*
- * @param level The log level to log messages at.
- * @param log The logger to log messages to.
+ * <ul class='seealso'>
+ * <li class='jf'>{@link RestClient#RESTCLIENT_logToConsole}
+ * </ul>
+ *
+ * @param value The value for this property.
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public RestClientBuilder logTo(Level level, Logger log) {
- return interceptors(new BasicRestCallLogger(level, log));
+ public RestClientBuilder logToConsole(boolean value) {
+ return set(RESTCLIENT_logToConsole, value);
}
/**
- * Causes requests/responses to be logged to the console.
+ * Configuration property: Log requests.
+ *
+ * <p>
+ * Causes requests/responses to be logged at the specified log level at the end of the request.
+ *
+ * <p>
+ * <jsf>SIMPLE</jsf> detail produces a log message like the following:
+ * <p class='bpcode w800'>
+ * POST http://localhost:10000/testUrl, HTTP/1.1 200 OK
+ * </p>
+ *
+ * <p>
+ * <jsf>FULL</jsf> detail produces a log message like the following:
+ * <p class='bpcode w800 console'>
+ * === HTTP Call (outgoing) =======================================================
+ * === REQUEST ===
+ * POST http://localhost:10000/testUrl
+ * ---request headers---
+ * Debug: true
+ * No-Trace: true
+ * Accept: application/json
+ * ---request entity---
+ * Content-Type: application/json
+ * ---request content---
+ * {"foo":"bar","baz":123}
+ * === RESPONSE ===
+ * HTTP/1.1 200 OK
+ * ---response headers---
+ * Content-Type: application/json;charset=utf-8
+ * Content-Length: 21
+ * Server: Jetty(8.1.0.v20120127)
+ * ---response content---
+ * {"message":"OK then"}
+ * === END ========================================================================
+ * </p>
+ *
+ * <p>
+ * By default, the message is logged to the default logger. It can be logged to a different logger via the
+ * {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logger} setting or logged to the console using the
+ * {@link org.apache.juneau.rest.client2.RestClient#RESTCLIENT_logToConsole} setting.
+ *
+ * <ul class='seealso'>
+ * <li class='jf'>{@link RestClient#RESTCLIENT_logRequests}
+ * <li class='jf'>{@link RestClient#RESTCLIENT_logRequestsLevel}
+ * </ul>
*
+ * @param detail The detail level of logging.
+ * @param level The log level.
* @return This object (for method chaining).
*/
@ConfigurationProperty
- public RestClientBuilder logToConsole() {
- return interceptors(ConsoleRestCallLogger.DEFAULT);
+ public RestClientBuilder logRequests(DetailLevel detail, Level level) {
+ set(RESTCLIENT_logRequests, detail);
+ set(RESTCLIENT_logRequestsLevel, level);
+ return this;
}
//------------------------------------------------------------------------------------------------------------------
@@ -411,25 +987,28 @@ public class RestClientBuilder extends BeanContextBuilder {
//------------------------------------------------------------------------------------------------------------------
/**
- * Sets the internal {@link HttpClientConnectionManager}.
- *
- * @param httpClientConnectionManager The HTTP client connection manager.
- * @return This object (for method chaining).
- */
- @ConfigurationProperty
- public RestClientBuilder httpClientConnectionManager(HttpClientConnectionManager httpClientConnectionManager) {
- this.httpClientConnectionManager = httpClientConnectionManager;
- return this;
- }
-
- /**
* Creates the {@link HttpClientConnectionManager} returned by {@link #createConnectionManager()}.
*
* <p>
* Subclasses can override this method to provide their own connection manager.
*
* <p>
- * The default implementation returns an instance of a {@link PoolingHttpClientConnectionManager}.
+ * The default implementation returns an instance of a {@link PoolingHttpClientConnectionManager} if {@link #pooled()}
+ * was called or {@link BasicHttpClientConnectionManager} if not..
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// A RestClientBuilder that provides it's own customized HttpClientConnectionManager.</jc>
+ * <jk>public class</jk> MyRestClientBuilder <jk>extends</jk> RestClientBuilder {
+ * <ja>@Override</ja>
+ * <jk>protected</jk> HttpClientConnectionManager createConnectionManager() {
+ * <jk>return new</jk> PoolingHttpClientConnectionManager();
+ * }
+ * }
+ *
+ * <jc>// Instantiate.</jc>
+ * RestClient c = <jk>new</jk> MyRestClientBuilder().build();
+ * </p>
*
* @return The HTTP client builder to use to create the HTTP client.
*/
@@ -442,6 +1021,15 @@ public class RestClientBuilder extends BeanContextBuilder {
* When called, the {@link #createConnectionManager()} method will return a {@link PoolingHttpClientConnectionManager}
* instead of a {@link BasicHttpClientConnectionManager}.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses pooled connections.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .pooled()
+ * .build();
+ * </p>
+ *
* @return This object (for method chaining).
*/
@ConfigurationProperty
@@ -453,6 +1041,15 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Set up this client to use BASIC auth.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Construct a client that uses BASIC authentication.</jc>
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .basicAuth(<js>"http://localhost"</js>, 80, <js>"me"</js>, <js>"mypassword"</js>)
+ * .build();
+ * </p>
+ *
* @param host The auth scope hostname.
* @param port The auth scope port.
* @param user The username.
@@ -476,10 +1073,16 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Sets a header on all requests.
*
+ * <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
* RestClient c = RestClient
* .<jsm>create</jsm>()
- * .header(<js>"Foo"</js>, <js>"bar"</js>, myPartSerializer, headerSchema);
+ * .header(<js>"Foo"</js>, value, myPartSerializer, schema); <jc>// Gets set as "foo|bar"</jc>
* .build();
* </p>
*
@@ -511,6 +1114,41 @@ public class RestClientBuilder extends BeanContextBuilder {
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .header(<js>"Foo"</js>, value, schema); <jc>// Gets set as "foo|bar"</jc>
+ * .build();
+ * </p>
+ *
+ * @param name The header name.
+ * @param value The header value.
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified part serializer.
+ * <li>Values are converted to strings at runtime to allow them to be modified externally.
+ * </ul>
+ * @param schema The schema object that defines the format of the output.
+ * <ul>
+ * <li>If <jk>null</jk>, defaults to {@link HttpPartSchema#DEFAULT}.
+ * <li>Only used if serializer is schema-aware (e.g. {@link OpenApiSerializer}).
+ * </ul>
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder header(String name, Object value, HttpPartSchema schema) {
+ return appendTo(RESTCLIENT_headers, SerializedNameValuePair.create().name(name).value(value).type(HEADER).schema(schema));
+ }
+
+ /**
+ * Sets a header on all requests.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
* RestClient c = RestClient
* .<jsm>create</jsm>()
* .header(<js>"Foo"</js>, <js>"bar"</js>);
@@ -643,7 +1281,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Accept</c> request header.
+ * Sets the value for the <c>Accept</c> request header on all requests.
*
* <p>
* This overrides the media type specified on the parser, but is overridden by calling
@@ -658,7 +1296,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Accept-Charset</c> request header.
+ * Sets the value for the <c>Accept-Charset</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Accept-Charset"</js>, value);</code>
@@ -672,7 +1310,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Accept-Encoding</c> request header.
+ * Sets the value for the <c>Accept-Encoding</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Accept-Encoding"</js>, value);</code>
@@ -686,7 +1324,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Accept-Language</c> request header.
+ * Sets the value for the <c>Accept-Language</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Accept-Language"</js>, value);</code>
@@ -700,7 +1338,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Authorization</c> request header.
+ * Sets the value for the <c>Authorization</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Authorization"</js>, value);</code>
@@ -714,7 +1352,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Cache-Control</c> request header.
+ * Sets the value for the <c>Cache-Control</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Cache-Control"</js>, value);</code>
@@ -739,7 +1377,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Connection</c> request header.
+ * Sets the value for the <c>Connection</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Connection"</js>, value);</code>
@@ -753,7 +1391,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Content-Length</c> request header.
+ * Sets the value for the <c>Content-Length</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Content-Length"</js>, value);</code>
@@ -767,7 +1405,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Content-Type</c> request header.
+ * Sets the value for the <c>Content-Type</c> request header on all requests.
*
* <p>
* This overrides the media type specified on the serializer, but is overridden by calling
@@ -782,7 +1420,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Date</c> request header.
+ * Sets the value for the <c>Date</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Date"</js>, value);</code>
@@ -796,7 +1434,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Expect</c> request header.
+ * Sets the value for the <c>Expect</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Expect"</js>, value);</code>
@@ -810,7 +1448,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Forwarded</c> request header.
+ * Sets the value for the <c>Forwarded</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Forwarded"</js>, value);</code>
@@ -824,7 +1462,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>From</c> request header.
+ * Sets the value for the <c>From</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"From"</js>, value);</code>
@@ -838,7 +1476,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Host</c> request header.
+ * Sets the value for the <c>Host</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Host"</js>, value);</code>
@@ -852,7 +1490,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>If-Match</c> request header.
+ * Sets the value for the <c>If-Match</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"If-Match"</js>, value);</code>
@@ -866,7 +1504,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>If-Modified-Since</c> request header.
+ * Sets the value for the <c>If-Modified-Since</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"If-Modified-Since"</js>, value);</code>
@@ -880,7 +1518,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>If-None-Match</c> request header.
+ * Sets the value for the <c>If-None-Match</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"If-None-Match"</js>, value);</code>
@@ -894,7 +1532,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>If-Range</c> request header.
+ * Sets the value for the <c>If-Range</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"If-Range"</js>, value);</code>
@@ -908,7 +1546,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>If-Unmodified-Since</c> request header.
+ * Sets the value for the <c>If-Unmodified-Since</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"If-Unmodified-Since"</js>, value);</code>
@@ -922,7 +1560,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Max-Forwards</c> request header.
+ * Sets the value for the <c>Max-Forwards</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Max-Forwards"</js>, value);</code>
@@ -951,7 +1589,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Origin</c> request header.
+ * Sets the value for the <c>Origin</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Origin"</js>, value);</code>
@@ -965,7 +1603,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Pragma</c> request header.
+ * Sets the value for the <c>Pragma</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Pragma"</js>, value);</code>
@@ -979,7 +1617,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Proxy-Authorization</c> request header.
+ * Sets the value for the <c>Proxy-Authorization</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Proxy-Authorization"</js>, value);</code>
@@ -993,7 +1631,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Range</c> request header.
+ * Sets the value for the <c>Range</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Range"</js>, value);</code>
@@ -1007,7 +1645,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Referer</c> request header.
+ * Sets the value for the <c>Referer</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Referer"</js>, value);</code>
@@ -1021,7 +1659,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>TE</c> request header.
+ * Sets the value for the <c>TE</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"TE"</js>, value);</code>
@@ -1035,7 +1673,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>User-Agent</c> request header.
+ * Sets the value for the <c>User-Agent</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"User-Agent"</js>, value);</code>
@@ -1049,7 +1687,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Upgrade</c> request header.
+ * Sets the value for the <c>Upgrade</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Upgrade"</js>, value);</code>
@@ -1063,7 +1701,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Via</c> request header.
+ * Sets the value for the <c>Via</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Via"</js>, value);</code>
@@ -1077,7 +1715,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
/**
- * Sets the value for the <c>Warning</c> request header.
+ * Sets the value for the <c>Warning</c> request header on all requests.
*
* <p>
* This is a shortcut for calling <code>header(<js>"Warning"</js>, value);</code>
@@ -1097,6 +1735,19 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Adds a query parameter to the URI.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .query(<js>"foo"</js>, myPartSerializer, value, schema); <jc>// Gets set as "foo|bar"</jc>
+ * .build();
+ * </p>
+ *
* @param name The parameter name.
* @param value The parameter value.
* <ul>
@@ -1125,6 +1776,41 @@ public class RestClientBuilder extends BeanContextBuilder {
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .query(<js>"foo"</js>, value, schema); <jc>// Gets set as "foo|bar"</jc>
+ * .build();
+ * </p>
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified part serializer.
+ * <li>Values are converted to strings at runtime to allow them to be modified externally.
+ * </ul>
+ * @param schema The schema object that defines the format of the output.
+ * <ul>
+ * <li>If <jk>null</jk>, defaults to {@link HttpPartSchema#DEFAULT}.
+ * <li>Only used if serializer is schema-aware (e.g. {@link OpenApiSerializer}).
+ * </ul>
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder query(String name, Object value, HttpPartSchema schema) {
+ return appendTo(RESTCLIENT_query, SerializedNameValuePair.create().name(name).value(value).type(QUERY).schema(schema));
+ }
+
+ /**
+ * Adds a query parameter to the URI.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
* client
* .get(<jsf>URL</jsf>)
* .query(<js>"foo"</js>, <js>"bar"</js>)
@@ -1232,6 +1918,19 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Adds a form-data parameter to all request bodies.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .formData(<js>"foo"</js>, myPartSerializer, value, schema); <jc>// Gets set as "foo|bar"</jc>
+ * .build();
+ * </p>
+ *
* @param name The parameter name.
* @param value The parameter value.
* <ul>
@@ -1260,6 +1959,41 @@ public class RestClientBuilder extends BeanContextBuilder {
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
+ * <jk>import static</jk> org.apache.juneau.httppart.HttpPartSchema.*;
+ *
+ * HttpPartSchema schema = <jsm>tArrayPipes</jsm>().build(); <jc>// Pipe-delimited array.</jc>
+ * String[] value = {<js>"foo"</js>,<js>"bar"</js>};
+ *
+ * RestClient c = RestClient
+ * .<jsm>create</jsm>()
+ * .formData(<js>"foo"</js>, value, schema); <jc>// Gets set as "foo|bar"</jc>
+ * .build();
+ * </p>
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified part serializer.
+ * <li>Values are converted to strings at runtime to allow them to be modified externally.
+ * </ul>
+ * @param schema The schema object that defines the format of the output.
+ * <ul>
+ * <li>If <jk>null</jk>, defaults to {@link HttpPartSchema#DEFAULT}.
+ * <li>Only used if serializer is schema-aware (e.g. {@link OpenApiSerializer}).
+ * </ul>
+ * @return This object (for method chaining).
+ */
+ @ConfigurationProperty
+ public RestClientBuilder formData(String name, Object value, HttpPartSchema schema) {
+ return appendTo(RESTCLIENT_formData, SerializedNameValuePair.create().name(name).value(value).type(FORMDATA).schema(schema));
+ }
+
+ /**
+ * Adds a form-data parameter to all request bodies.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
* client
* .formPost(<jsf>URL</jsf>)
* .formData(<js>"foo"</js>, <js>"bar"</js>)
@@ -1370,6 +2104,28 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Allows you to provide a custom handler for making HTTP calls.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client that handles processing of requests using a custom handler.</jc>
+ * <jk>public class</jk> MyRestCallHandler <jk>implements</jk> RestCallHandler {
+ *
+ * <ja>@Override</ja>
+ * <jk>public</jk> HttpResponse execute(HttpHost target, HttpEntityEnclosingRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+ * <jc>// Custom handle requests with request bodies.</jc>
+ * }
+ *
+ * <ja>@Override</ja>
+ * <jk>public</jk> HttpResponse execute(HttpHost target, HttpRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+ * <jc>// Custom handle requests without request bodies.</jc>
+ * }
+ * }
+ *
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .callHandler(MyRestCallHandler.<jk>class</jk>)
+ * .build();
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jic'>{@link RestCallHandler}
* <li class='jf'>{@link RestClient#RESTCLIENT_callHandler}
@@ -1391,6 +2147,26 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Allows you to provide a custom handler for making HTTP calls.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client that handles processing of requests using a custom handler.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .callHandler(
+ * <jk>new</jk> RestCallHandler() {
+ * <ja>@Override</ja>
+ * <jk>public</jk> HttpResponse execute(HttpHost target, HttpEntityEnclosingRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+ * <jc>// Custom handle requests with request bodies.</jc>
+ * }
+ * <ja>@Override</ja>
+ * <jk>public</jk> HttpResponse execute(HttpHost target, HttpRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+ * <jc>// Custom handle requests without request bodies.</jc>
+ * }
+ * }
+ * )
+ * .build();
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jic'>{@link RestCallHandler}
* <li class='jf'>{@link RestClient#RESTCLIENT_callHandler}
@@ -1412,6 +2188,15 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Defines a predicate to test for error codes.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client that considers any 300+ responses to be errors.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .errorCodes(x -> x >= 300)
+ * .build();
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_errorCodes}
* </ul>
@@ -1442,6 +2227,30 @@ public class RestClientBuilder extends BeanContextBuilder {
* The default executor service is a single-threaded {@link ThreadPoolExecutor} with a 30 second timeout
* and a queue size of 10.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client with a customized executor service.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .executorService(<jk>new</jk> ThreadPoolExecutor(1, 1, 30, TimeUnit.<jsf>SECONDS</jsf>, <jk>new</jk> ArrayBlockingQueue<Runnable>(10)), <jk>true</jk>)
+ * .build();
+ *
+ * <jc>// Use it to asynchronously run a request.</jc>
+ * Future<RestResponse> f = client.get(<jsf>URL</jsf>).runFuture();
+ * <jc>// Do some other stuff</jc>
+ * <jk>try</jk> {
+ * String body = f.get().getBody().asString();
+ * <jc>// Succeeded!</jc>
+ * } <jk>catch</jk> (RestCallException e) {
+ * <jc>// Failed!</jc>
+ * }
+ * <jc>// Use it to asynchronously retrieve a response.</jc>
+ * Future<MyBean> f
+ * .get(<jsf>URL</jsf>)
+ * .run()
+ * .getBody().asFuture(MyBean.<jk>class</jk>);
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_executorService}
* <li class='jf'>{@link RestClient#RESTCLIENT_executorServiceShutdownOnClose}
@@ -1464,6 +2273,22 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Don't close this client when the {@link RestClient#close()} method is called.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client with a customized client and don't close the client service.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .httpClient(myHttpClient)
+ * .keepHttpClientOpen(<jk>true</jk>)
+ * .build();
+ *
+ * client.closeQuietly(); <jc>// Customized HttpClient won't be closed.</jc>
+ * </p>
+ *
+ * <p>
+ * Note that the {@link RestClient} class implements the {@link Closeable} interface allowing it to be used
+ * in try-with-resource blocks.
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_keepHttpClientOpen}
* </ul>
@@ -1484,6 +2309,18 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Don't close this client when the {@link RestClient#close()} method is called.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client with a customized client and don't close the client service.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .httpClient(myHttpClient)
+ * .keepHttpClientOpen()
+ * .build();
+ *
+ * client.closeQuietly(); <jc>// Customized HttpClient won't be closed.</jc>
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_keepHttpClientOpen}
* </ul>
@@ -1499,7 +2336,46 @@ public class RestClientBuilder extends BeanContextBuilder {
* Configuration property: Call interceptors.
*
* <p>
- * Adds an interceptor that gets called immediately after a connection is made.
+ * Adds an interceptor that can be called to hook into specified events in the lifecycle of a single request.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Customized interceptor (note you can also extend from BasicRestCallInterceptor as well.</jc>
+ * <jk>public class</jk> MyRestCallInterceptor <jk>implements</jk> RestCallInterceptor {
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> init(RestRequest req) <jk>throws</jk> Exception {
+ * <jc>// Intercept immediately after RestRequest object is created and all headers/query/form-data has been
+ * // set on the request from the client.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// HttpRequestInterceptor</jc>
+ * <jk>public void</jk> process(HttpRequest request, HttpContext context) {
+ * <jc>// Intercept before the request is sent to the server.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> connect(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+ * <jc>// Intercept immediately after an HTTP response has been received.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// HttpResponseInterceptor</jc>
+ * <jk>public void</jk> process(HttpResponse response, HttpContext context) <jk>throws</jk> HttpException, IOException {
+ * <jc>// Intercept before the message body is evaluated.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> close(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+ * <jc>// Intercept when the response body is consumed.
+ * }
+ * }
+ *
+ * <jc>// Create a client with a customized interceptor.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .interceptors(MyRestCallInterceptor.<jk>class</jk>)
+ * .build();
+ * </p>
*
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_interceptors}
@@ -1524,6 +2400,48 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Adds an interceptor that gets called immediately after a connection is made.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Customized interceptor (note you can also extend from BasicRestCallInterceptor as well.</jc>
+ * <jk>public class</jk> MyRestCallInterceptor <jk>implements</jk> RestCallInterceptor {
+ * }
+ *
+ * <jc>// Create a client with a customized interceptor.</jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .interceptors(
+ * <jk>new</jk> RestCallInterceptor() {
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> init(RestRequest req) <jk>throws</jk> Exception {
+ * <jc>// Intercept immediately after RestRequest object is created and all headers/query/form-data has been
+ * // set on the request from the client.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// HttpRequestInterceptor</jc>
+ * <jk>public void</jk> process(HttpRequest request, HttpContext context) {
+ * <jc>// Intercept before the request is sent to the server.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> connect(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+ * <jc>// Intercept immediately after an HTTP response has been received.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// HttpResponseInterceptor</jc>
+ * <jk>public void</jk> process(HttpResponse response, HttpContext context) <jk>throws</jk> HttpException, IOException {
+ * <jc>// Intercept before the message body is evaluated.</jc>
+ * }
+ *
+ * <ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+ * <jk>public void</jk> close(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+ * <jc>// Intercept when the response body is consumed.
+ * }
+ * }
+ * )
+ * .build();
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_interceptors}
* </ul>
@@ -1553,6 +2471,17 @@ public class RestClientBuilder extends BeanContextBuilder {
* <p>
* Automatically enabled with {@link RestClient#RESTCLIENT_debug}.
*
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Create a client that logs a message if </jc>
+ * RestClient client = RestClient
+ * .<jsm>create</jsm>()
+ * .leakDetection()
+ * .build();
+ *
+ * client.closeQuietly(); <jc>// Customized HttpClient won't be closed.</jc>
+ * </p>
+ *
* <ul class='seealso'>
* <li class='jf'>{@link RestClient#RESTCLIENT_leakDetection}
* </ul>
@@ -2844,7 +3773,7 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Configuration property: Parameter format.
- *
+ *
* <p>
* Specifies the format of parameters when using the {@link UrlEncodingSerializer} to serialize Form Posts.
*
@@ -2862,7 +3791,7 @@ public class RestClientBuilder extends BeanContextBuilder {
/**
* Configuration property: Parameter format.
- *
+ *
* <p>
* Specifies the format of parameters when using the {@link UrlEncodingSerializer} to serialize Form Posts.
*
@@ -3108,7 +4037,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RestClientBuilder bpi(Map<String,String> values) {
+ public RestClientBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -3126,7 +4055,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RestClientBuilder bpro(Map<String,String> values) {
+ public RestClientBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -3144,7 +4073,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RestClientBuilder bpwo(Map<String,String> values) {
+ public RestClientBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -3162,7 +4091,7 @@ public class RestClientBuilder extends BeanContextBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public RestClientBuilder bpx(Map<String,String> values) {
+ public RestClientBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientUtils.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientUtils.java
index 0f7ba91..56593e2 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientUtils.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientUtils.java
@@ -12,14 +12,15 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.client2;
+import static org.apache.juneau.AddFlag.*;
import static org.apache.juneau.httppart.HttpPartType.*;
import static org.apache.juneau.internal.StringUtils.*;
-import static org.apache.juneau.rest.client2.AddFlag.*;
import java.util.*;
import org.apache.http.*;
import org.apache.http.message.BasicHeader;
+import org.apache.juneau.*;
import org.apache.juneau.http.*;
import org.apache.juneau.httppart.*;
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
index b13ae8a..25e7a42 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
@@ -13,8 +13,8 @@
package org.apache.juneau.rest.client2;
import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.AddFlag.*;
import static org.apache.juneau.httppart.HttpPartType.*;
-import static org.apache.juneau.rest.client2.AddFlag.*;
import static org.apache.juneau.rest.client2.RestClientUtils.*;
import java.io.*;
@@ -22,7 +22,6 @@ import java.net.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
-import java.util.logging.*;
import org.apache.http.*;
import org.apache.http.client.config.*;
@@ -42,7 +41,6 @@ import org.apache.juneau.internal.*;
import org.apache.juneau.oapi.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.reflect.*;
-import org.apache.juneau.rest.client2.logging.*;
import org.apache.juneau.serializer.*;
/**
@@ -192,36 +190,6 @@ public final class RestRequest extends BeanSession implements HttpUriRequest, Co
}
/**
- * Adds a {@link RestCallLogger} to the list of interceptors on this class.
- *
- * @param level The log level to log events at.
- * @param log The logger.
- * @return This object (for method chaining).
- */
- public RestRequest logTo(Level level, Logger log) {
- try {
- interceptors(new BasicRestCallLogger(level, log));
- } catch (RestCallException e) {
- e.printStackTrace();
- }
- return this;
- }
-
- /**
- * Adds a {@link ConsoleRestCallLogger} to the list of interceptors on this class.
- *
- * @return This object (for method chaining).
- */
- public RestRequest logToConsole() {
- try {
- interceptors(new ConsoleRestCallLogger());
- } catch (RestCallException e) {
- e.printStackTrace();
- }
- return this;
- }
-
- /**
* Sets <c>Debug: value</c> header on this request.
*
* @return This object (for method chaining).
@@ -2360,6 +2328,9 @@ public final class RestRequest extends BeanSession implements HttpUriRequest, Co
throw e;
}
+ if (client.logRequests == DetailLevel.FULL)
+ response.getBody().cache();
+
for (RestCallInterceptor rci : interceptors)
rci.onConnect(this, response);
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
index e2fb349..6bcb096 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
@@ -619,6 +619,48 @@ public final class RestResponse implements HttpResponse {
return;
isClosed = true;
EntityUtils.consumeQuietly(response.getEntity());
+
+ if (client.logRequestsPredicate.test(request, this)) {
+ if (client.logRequests == DetailLevel.SIMPLE) {
+ client.log(client.logRequestsLevel, "HTTP {0} {1}, {2}", request.getMethod(), request.getURI(), this.getStatusLine());
+ } else if (client.logRequests == DetailLevel.FULL) {
+ String output = getBody().asString();
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n=== HTTP Call (outgoing) ======================================================");
+ sb.append("\n=== REQUEST ===\n");
+ sb.append(request.getMethod()).append(" ").append(request.getURI());
+ sb.append("\n---request headers---");
+ for (Header h : request.getAllHeaders())
+ sb.append("\n\t").append(h);
+ if (request.hasHttpEntity()) {
+ sb.append("\n---request entity---");
+ HttpEntity e = request.getHttpEntity();
+ if (e == null)
+ sb.append("\nEntity is null");
+ else {
+ if (e.getContentType() != null)
+ sb.append("\n").append(e.getContentType());
+ if (e.getContentEncoding() != null)
+ sb.append("\n").append(e.getContentEncoding());
+ if (e.isRepeatable()) {
+ try {
+ sb.append("\n---request content---\n").append(EntityUtils.toString(e));
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+ }
+ }
+ sb.append("\n=== RESPONSE ===\n").append(getStatusLine());
+ sb.append("\n---response headers---");
+ for (Header h : getAllHeaders())
+ sb.append("\n\t").append(h);
+ sb.append("\n---response content---\n").append(output);
+ sb.append("\n=== END =======================================================================");
+ client.log(client.logRequestsLevel, sb.toString());
+ }
+ }
+
for (RestCallInterceptor r : request.interceptors) {
try {
r.onClose(request, this);
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
index cec732f..62a31aa 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
@@ -14,6 +14,7 @@ package org.apache.juneau.rest.client2;
import static org.apache.juneau.internal.IOUtils.*;
import static org.apache.juneau.internal.StringUtils.*;
+import static java.util.logging.Level.*;
import java.io.*;
import java.lang.reflect.*;
@@ -1553,7 +1554,7 @@ public class RestResponseBody implements HttpEntity {
sb.append("Response did not have the expected value for body.");
sb.append("\nExpected: [").append(value.replaceAll("\\\\", "\\\\\\\\").replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")).append("]");
sb.append("\nActual : [").append(text.replaceAll("\\\\", "\\\\\\\\").replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")).append("]");
- System.err.println(sb);
+ client.log(WARNING, sb.toString());
}
throw new BasicAssertionError("Response did not have the expected value for body.\n\tExpected=[{0}]\n\tActual=[{1}]", value, text);
}
@@ -1597,7 +1598,7 @@ public class RestResponseBody implements HttpEntity {
sb.append("Response did not have the expected substring for body.");
sb.append("\nExpected: [").append(substring.replaceAll("\\\\", "\\\\\\\\").replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")).append("]");
sb.append("\nActual : [").append(text.replaceAll("\\\\", "\\\\\\\\").replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")).append("]");
- System.err.println(sb);
+ client.log(WARNING, sb.toString());
}
throw new BasicAssertionError("Response did not have the expected substring for body.\n\tExpected=[{0}]\n\tBody=[{1}]", substring, text);
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/BasicRestCallLogger.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/BasicRestCallLogger.java
deleted file mode 100644
index 92d2a07..0000000
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/BasicRestCallLogger.java
+++ /dev/null
@@ -1,62 +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.rest.client2.logging;
-
-import java.util.logging.*;
-
-import org.apache.juneau.rest.client2.*;
-
-/**
- * Specialized interceptor for logging calls to a log file.
- *
- * <p>
- * Causes a log entry to be created that shows all the request and response headers and content at the end of the
- * request.
- *
- * <p>
- * Use the {@link RestClientBuilder#logTo(Level, Logger)} and {@link RestRequest#logTo(Level, Logger)} methods to create
- * instances of this class.
- */
-public class BasicRestCallLogger extends RestCallLogger {
-
- /**
- * Default HTTP request logger.
- * <p>
- * Logs outgoing HTTP requests to the <c>org.apache.juneau.rest.client</c> logger at <jsf>WARNING</jsf> level.
- */
- public static final BasicRestCallLogger DEFAULT = new BasicRestCallLogger(Level.WARNING, Logger.getLogger("org.apache.juneau.rest.client"));
-
- private Level level;
- private Logger log;
-
- /**
- * Constructor.
- *
- * @param level The log level to log messages at.
- * @param log The logger to log to.
- */
- public BasicRestCallLogger(Level level, Logger log) {
- this.level = level;
- this.log = log;
- }
-
- @Override
- public boolean shouldLog(RestRequest req, RestResponse res) {
- return log.isLoggable(level);
- }
-
- @Override
- public void log(Throwable t, String msg) {
- log.log(level, msg, t);
- }
-}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/RestCallLogger.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/RestCallLogger.java
deleted file mode 100644
index 8bf7220..0000000
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/RestCallLogger.java
+++ /dev/null
@@ -1,116 +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.rest.client2.logging;
-
-import static org.apache.juneau.internal.StringUtils.*;
-
-import java.text.*;
-
-import org.apache.http.*;
-import org.apache.http.util.*;
-import org.apache.juneau.rest.client2.*;
-
-/**
- * Specialized intercepter for logging calls to a log file.
- */
-public abstract class RestCallLogger extends BasicRestCallInterceptor {
-
- /**
- * Returns <jk>true</jk> if the specified request/response should be logged.
- *
- * @param req The request. Can be <jk>null</jk>.
- * @param res The response. Can be <jk>null</jk>.
- * @return <jk>true</jk> if the specified request/response should be logged.
- */
- public abstract boolean shouldLog(RestRequest req, RestResponse res);
-
- /**
- * Logs a message.
- *
- * @param t Thrown exception. Can be <jk>null</jk>.
- * @param msg The message.
- */
- public abstract void log(Throwable t, String msg);
-
- /**
- * Logs a message.
- *
- * @param msg The message with {@link MessageFormat}-style arguments.
- * @param args The arguments.
- */
- protected final void log(String msg, Object...args) {
- log(null, format(msg, args));
- }
-
- /**
- * Logs a message.
- *
- * @param t Thrown exception. Can be <jk>null</jk>.
- * @param msg The message with {@link MessageFormat}-style arguments.
- * @param args The arguments.
- */
- protected final void log(Throwable t, String msg, Object...args) {
- log(t, format(msg, args));
- }
-
- @Override /* RestCallInterceptor */
- public void onConnect(RestRequest req, RestResponse res) {
- if (shouldLog(req, null))
- res.getBody().cache();
- }
-
- @Override /* RestCallInterceptor */
- public void onClose(RestRequest req, RestResponse res) throws Exception {
- if (shouldLog(req, res)) {
- String output = res == null ? null : res.getBody().asString();
- StringBuilder sb = new StringBuilder();
- if (req != null) {
- sb.append("\n=== HTTP Call (outgoing) ======================================================");
-
- sb.append("\n=== REQUEST ===\n");
- sb.append(req.getMethod()).append(" ").append(req.getURI());
- sb.append("\n---request headers---");
- for (Header h : req.getAllHeaders())
- sb.append("\n\t").append(h);
- if (req.hasHttpEntity()) {
- sb.append("\n---request entity---");
- HttpEntity e = req.getHttpEntity();
- if (e == null)
- sb.append("\nEntity is null");
- else {
- if (e.getContentType() != null)
- sb.append("\n").append(e.getContentType());
- if (e.getContentEncoding() != null)
- sb.append("\n").append(e.getContentEncoding());
- if (e.isRepeatable()) {
- try {
- sb.append("\n---request content---\n").append(EntityUtils.toString(e));
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
- }
- }
- }
- if (res != null) {
- sb.append("\n=== RESPONSE ===\n").append(res.getStatusLine());
- sb.append("\n---response headers---");
- for (Header h : res.getAllHeaders())
- sb.append("\n\t").append(h);
- sb.append("\n---response content---\n").append(output);
- sb.append("\n=== END =======================================================================");
- }
- log(sb.toString());
- }
- }
-}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/package-info.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/package-info.java
deleted file mode 100644
index 0ac65f3..0000000
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/logging/package-info.java
+++ /dev/null
@@ -1,18 +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.
- *
- ***************************************************************************************************************************/
-
-/**
- * REST Client API - Logging
- */
-package org.apache.juneau.rest.client2.logging;
\ No newline at end of file
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
index 1649acd..60e3852 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
@@ -83,7 +83,7 @@ public class MockRemote<T> {
*/
public T build() {
MockRest mr = mrb.build();
- return rcb.httpClientConnectionManager(new MockHttpClientConnectionManager(mr)).rootUrl("http://localhost").headers(mr.getHeaders()).build().getRemote(intf);
+ return rcb.connectionManager(new MockHttpClientConnectionManager(mr)).rootUrl("http://localhost").headers(mr.getHeaders()).build().getRemote(intf);
}
/**
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index 6ec353c..309221b 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -20,7 +20,6 @@ import java.util.logging.*;
import java.lang.annotation.*;
import java.lang.reflect.Method;
-import org.apache.http.conn.*;
import org.apache.http.impl.client.*;
import org.apache.juneau.*;
import org.apache.juneau.http.*;
@@ -128,7 +127,7 @@ public class MockRestClient extends RestClientBuilder {
public RestClient build() {
if (peek(BeanContext.BEAN_debug) == Boolean.TRUE)
mrb.debug();
- httpClientConnectionManager(new MockHttpClientConnectionManager(mrb.build()));
+ connectionManager(new MockHttpClientConnectionManager(mrb.build()));
return super.build();
}
@@ -363,7 +362,7 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MockRestClient bpi(Map<String,String> values) {
+ public MockRestClient bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -381,7 +380,7 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MockRestClient bpro(Map<String,String> values) {
+ public MockRestClient bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -399,7 +398,7 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MockRestClient bpwo(Map<String,String> values) {
+ public MockRestClient bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -417,7 +416,7 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - BeanContextBuilder */
- public MockRestClient bpx(Map<String,String> values) {
+ public MockRestClient bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
@@ -999,6 +998,12 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClient formData(String name, Object value, HttpPartSchema schema) {
+ super.formData(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClient formData(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
super.formData(name, value, serializer, schema);
return this;
@@ -1035,6 +1040,12 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClient header(String name, Object value, HttpPartSchema schema) {
+ super.header(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClient header(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
super.header(name, value, serializer, schema);
return this;
@@ -1065,20 +1076,26 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
- public MockRestClient httpClient(CloseableHttpClient value) {
- super.httpClient(value);
+ public MockRestClient htmlDoc() {
+ super.htmlDoc();
return this;
}
@Override /* GENERATED - RestClientBuilder */
- public MockRestClient httpClientBuilder(HttpClientBuilder value) {
- super.httpClientBuilder(value);
+ public MockRestClient htmlStrippedDoc() {
+ super.htmlStrippedDoc();
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
+ public MockRestClient httpClient(CloseableHttpClient value) {
+ super.httpClient(value);
return this;
}
@Override /* GENERATED - RestClientBuilder */
- public MockRestClient httpClientConnectionManager(HttpClientConnectionManager httpClientConnectionManager) {
- super.httpClientConnectionManager(httpClientConnectionManager);
+ public MockRestClient httpClientBuilder(HttpClientBuilder value) {
+ super.httpClientBuilder(value);
return this;
}
@@ -1192,8 +1209,8 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
- public MockRestClient logTo(Level level, Logger log) {
- super.logTo(level, log);
+ public MockRestClient logRequests(DetailLevel detail, Level level) {
+ super.logRequests(detail, level);
return this;
}
@@ -1204,6 +1221,18 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClient logToConsole(boolean value) {
+ super.logToConsole(value);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
+ public MockRestClient logger(Logger value) {
+ super.logger(value);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClient marshall(Marshall value) {
super.marshall(value);
return this;
@@ -1373,6 +1402,12 @@ public class MockRestClient extends RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClient query(String name, Object value, HttpPartSchema schema) {
+ super.query(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClient query(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
super.query(name, value, serializer, schema);
return this;
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 9980bd4..99fbad3 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
@@ -2816,7 +2816,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
}
@Override /* GENERATED - BeanContextBuilder */
- public RestContextBuilder bpi(Map<String,String> values) {
+ public RestContextBuilder bpi(Map<String,Object> values) {
super.bpi(values);
return this;
}
@@ -2834,7 +2834,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
}
@Override /* GENERATED - BeanContextBuilder */
- public RestContextBuilder bpro(Map<String,String> values) {
+ public RestContextBuilder bpro(Map<String,Object> values) {
super.bpro(values);
return this;
}
@@ -2852,7 +2852,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
}
@Override /* GENERATED - BeanContextBuilder */
- public RestContextBuilder bpwo(Map<String,String> values) {
+ public RestContextBuilder bpwo(Map<String,Object> values) {
super.bpwo(values);
return this;
}
@@ -2870,7 +2870,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
}
@Override /* GENERATED - BeanContextBuilder */
- public RestContextBuilder bpx(Map<String,String> values) {
+ public RestContextBuilder bpx(Map<String,Object> values) {
super.bpx(values);
return this;
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
index d155d08..39dc2e1 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
@@ -12,10 +12,15 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest;
+import java.lang.annotation.*;
+import java.util.*;
+
import org.apache.juneau.*;
+import org.apache.juneau.http.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.svl.*;
+import java.lang.reflect.Method;
/**
* Builder class for {@link RestMethodContext} objects.
@@ -62,4 +67,686 @@ public class RestMethodContextBuilder extends BeanContextBuilder {
throw new RestServletException("Exception occurred while initializing method ''{0}''", sig).initCause(e);
}
}
+
+ // <CONFIGURATION-PROPERTIES>
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder add(Map<String,Object> properties) {
+ super.add(properties);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder appendTo(String name, Object value) {
+ super.appendTo(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder apply(PropertyStore copyFrom) {
+ super.apply(copyFrom);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder applyAnnotations(java.lang.Class<?>...fromClasses) {
+ super.applyAnnotations(fromClasses);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder applyAnnotations(Method...fromMethods) {
+ super.applyAnnotations(fromMethods);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder applyAnnotations(AnnotationList al, VarResolverSession r) {
+ super.applyAnnotations(al, r);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder prependTo(String name, Object value) {
+ super.prependTo(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder putAllTo(String name, Object value) {
+ super.putAllTo(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder putTo(String name, String key, Object value) {
+ super.putTo(name, key, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder set(Map<String,Object> properties) {
+ super.set(properties);
+ return this;
+ }
+
+ @Override /* GENERATED - ContextBuilder */
+ public RestMethodContextBuilder set(String name, Object value) {
+ super.set(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder annotations(Annotation...values) {
+ super.annotations(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanClassVisibility(Visibility value) {
+ super.beanClassVisibility(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanConstructorVisibility(Visibility value) {
+ super.beanConstructorVisibility(value);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionary(java.lang.Class<?>...values) {
+ super.beanDictionary(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionary(Object...values) {
+ super.beanDictionary(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionaryRemove(java.lang.Class<?>...values) {
+ super.beanDictionaryRemove(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionaryRemove(Object...values) {
+ super.beanDictionaryRemove(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionaryReplace(java.lang.Class<?>...values) {
+ super.beanDictionaryReplace(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanDictionaryReplace(Object...values) {
+ super.beanDictionaryReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanFieldVisibility(Visibility value) {
+ super.beanFieldVisibility(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanFilters(Object...values) {
+ super.beanFilters(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanFiltersRemove(Object...values) {
+ super.beanFiltersRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanFiltersReplace(Object...values) {
+ super.beanFiltersReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanMapPutReturnsOldValue() {
+ super.beanMapPutReturnsOldValue();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanMapPutReturnsOldValue(boolean value) {
+ super.beanMapPutReturnsOldValue(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanMethodVisibility(Visibility value) {
+ super.beanMethodVisibility(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beanTypePropertyName(String value) {
+ super.beanTypePropertyName(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansDontRequireSomeProperties() {
+ super.beansDontRequireSomeProperties();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireDefaultConstructor() {
+ super.beansRequireDefaultConstructor();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireDefaultConstructor(boolean value) {
+ super.beansRequireDefaultConstructor(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireSerializable() {
+ super.beansRequireSerializable();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireSerializable(boolean value) {
+ super.beansRequireSerializable(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireSettersForGetters() {
+ super.beansRequireSettersForGetters();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireSettersForGetters(boolean value) {
+ super.beansRequireSettersForGetters(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder beansRequireSomeProperties(boolean value) {
+ super.beansRequireSomeProperties(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpi(Map<String,Object> values) {
+ super.bpi(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpi(Class<?> beanClass, String properties) {
+ super.bpi(beanClass, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpi(String beanClassName, String properties) {
+ super.bpi(beanClassName, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpro(Map<String,Object> values) {
+ super.bpro(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpro(Class<?> beanClass, String properties) {
+ super.bpro(beanClass, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpro(String beanClassName, String properties) {
+ super.bpro(beanClassName, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpwo(Map<String,Object> values) {
+ super.bpwo(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpwo(Class<?> beanClass, String properties) {
+ super.bpwo(beanClass, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpwo(String beanClassName, String properties) {
+ super.bpwo(beanClassName, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpx(Map<String,Object> values) {
+ super.bpx(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpx(Class<?> beanClass, String properties) {
+ super.bpx(beanClass, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder bpx(String beanClassName, String properties) {
+ super.bpx(beanClassName, properties);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder debug() {
+ super.debug();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder debug(boolean value) {
+ super.debug(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionary(java.lang.Class<?>...values) {
+ super.dictionary(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionary(Object...values) {
+ super.dictionary(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionaryRemove(java.lang.Class<?>...values) {
+ super.dictionaryRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionaryRemove(Object...values) {
+ super.dictionaryRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionaryReplace(java.lang.Class<?>...values) {
+ super.dictionaryReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dictionaryReplace(Object...values) {
+ super.dictionaryReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dontIgnorePropertiesWithoutSetters() {
+ super.dontIgnorePropertiesWithoutSetters();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dontIgnoreTransientFields() {
+ super.dontIgnoreTransientFields();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dontIgnoreUnknownNullBeanProperties() {
+ super.dontIgnoreUnknownNullBeanProperties();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder dontUseInterfaceProxies() {
+ super.dontUseInterfaceProxies();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public <T> RestMethodContextBuilder example(Class<T> pojoClass, T o) {
+ super.example(pojoClass, o);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public <T> RestMethodContextBuilder exampleJson(Class<T> pojoClass, String json) {
+ super.exampleJson(pojoClass, json);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder examples(String json) {
+ super.examples(json);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder excludeProperties(Map<String,String> values) {
+ super.excludeProperties(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder excludeProperties(Class<?> beanClass, String properties) {
+ super.excludeProperties(beanClass, properties);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder excludeProperties(String beanClassName, String value) {
+ super.excludeProperties(beanClassName, value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder fluentSetters() {
+ super.fluentSetters();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder fluentSetters(boolean value) {
+ super.fluentSetters(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreInvocationExceptionsOnGetters() {
+ super.ignoreInvocationExceptionsOnGetters();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
+ super.ignoreInvocationExceptionsOnGetters(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreInvocationExceptionsOnSetters() {
+ super.ignoreInvocationExceptionsOnSetters();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
+ super.ignoreInvocationExceptionsOnSetters(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignorePropertiesWithoutSetters(boolean value) {
+ super.ignorePropertiesWithoutSetters(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreTransientFields(boolean value) {
+ super.ignoreTransientFields(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreUnknownBeanProperties() {
+ super.ignoreUnknownBeanProperties();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreUnknownBeanProperties(boolean value) {
+ super.ignoreUnknownBeanProperties(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder ignoreUnknownNullBeanProperties(boolean value) {
+ super.ignoreUnknownNullBeanProperties(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
+ super.implClass(interfaceClass, implClass);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder implClasses(Map<String,Class<?>> values) {
+ super.implClasses(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder includeProperties(Map<String,String> values) {
+ super.includeProperties(values);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder includeProperties(Class<?> beanClass, String value) {
+ super.includeProperties(beanClass, value);
+ return this;
+ }
+
+ @Deprecated @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder includeProperties(String beanClassName, String value) {
+ super.includeProperties(beanClassName, value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder locale(Locale value) {
+ super.locale(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder mediaType(MediaType value) {
+ super.mediaType(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClasses(java.lang.Class<?>...values) {
+ super.notBeanClasses(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClasses(Object...values) {
+ super.notBeanClasses(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClassesRemove(java.lang.Class<?>...values) {
+ super.notBeanClassesRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClassesRemove(Object...values) {
+ super.notBeanClassesRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClassesReplace(java.lang.Class<?>...values) {
+ super.notBeanClassesReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanClassesReplace(Object...values) {
+ super.notBeanClassesReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackages(Object...values) {
+ super.notBeanPackages(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackages(String...values) {
+ super.notBeanPackages(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackagesRemove(Object...values) {
+ super.notBeanPackagesRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackagesRemove(String...values) {
+ super.notBeanPackagesRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackagesReplace(Object...values) {
+ super.notBeanPackagesReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder notBeanPackagesReplace(String...values) {
+ super.notBeanPackagesReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwaps(java.lang.Class<?>...values) {
+ super.pojoSwaps(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwaps(Object...values) {
+ super.pojoSwaps(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwapsRemove(java.lang.Class<?>...values) {
+ super.pojoSwapsRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwapsRemove(Object...values) {
+ super.pojoSwapsRemove(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwapsReplace(java.lang.Class<?>...values) {
+ super.pojoSwapsReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder pojoSwapsReplace(Object...values) {
+ super.pojoSwapsReplace(values);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+ super.propertyNamer(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder sortProperties() {
+ super.sortProperties();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder sortProperties(boolean value) {
+ super.sortProperties(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder timeZone(TimeZone value) {
+ super.timeZone(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder useEnumNames() {
+ super.useEnumNames();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder useEnumNames(boolean value) {
+ super.useEnumNames(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder useInterfaceProxies(boolean value) {
+ super.useInterfaceProxies(value);
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder useJavaBeanIntrospector() {
+ super.useJavaBeanIntrospector();
+ return this;
+ }
+
+ @Override /* GENERATED - BeanContextBuilder */
+ public RestMethodContextBuilder useJavaBeanIntrospector(boolean value) {
+ super.useJavaBeanIntrospector(value);
+ return this;
+ }
+
+ // </CONFIGURATION-PROPERTIES>
}
\ No newline at end of file