mirror of https://github.com/grpc/grpc-java.git
api: Add doc snippet to convert types for defaultServiceConfig()
Tested with Jackson's `new ObjectMapper().readValue(json, Map.class)`. Fixes #8300
This commit is contained in:
parent
192688f1f2
commit
816a54a83b
|
|
@ -555,6 +555,22 @@ public abstract class ManagedChannelBuilder<T extends ManagedChannelBuilder<T>>
|
||||||
*
|
*
|
||||||
* <p>If null is passed, then there will be no default service config.
|
* <p>If null is passed, then there will be no default service config.
|
||||||
*
|
*
|
||||||
|
* <p>Your preferred JSON parser may not produce results in the format expected. For such cases,
|
||||||
|
* you can convert its output. For example, if your parser produces Integers and other Numbers
|
||||||
|
* in addition to Double:
|
||||||
|
*
|
||||||
|
* <pre>{@code @SuppressWarnings("unchecked")
|
||||||
|
* private static Object convertNumbers(Object o) {
|
||||||
|
* if (o instanceof Map) {
|
||||||
|
* ((Map) o).replaceAll((k,v) -> convertNumbers(v));
|
||||||
|
* } else if (o instanceof List) {
|
||||||
|
* ((List) o).replaceAll(YourClass::convertNumbers);
|
||||||
|
* } else if (o instanceof Number && !(o instanceof Double)) {
|
||||||
|
* o = ((Number) o).doubleValue();
|
||||||
|
* }
|
||||||
|
* return o;
|
||||||
|
* }}</pre>
|
||||||
|
*
|
||||||
* @throws IllegalArgumentException When the given serviceConfig is invalid or the current version
|
* @throws IllegalArgumentException When the given serviceConfig is invalid or the current version
|
||||||
* of grpc library can not parse it gracefully. The state of the builder is unchanged if
|
* of grpc library can not parse it gracefully. The state of the builder is unchanged if
|
||||||
* an exception is thrown.
|
* an exception is thrown.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue