This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/johnzon.git
commit 0d06bd02fb9e8e3d9cc26dc90dd004e20b0b3b0a Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Mon Jan 25 11:51:16 2021 +0100 [JOHNZON-332] add skipAccessModeWrapper toggle for backward compatibility --- .../src/main/java/org/apache/johnzon/mapper/MapperBuilder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java index cbb2213..9646a90 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MapperBuilder.java @@ -106,6 +106,7 @@ public class MapperBuilder { private boolean useBigDecimalForObjectNumbers; private boolean supportEnumContainerDeserialization = true; private Function<Class<?>, MapperConfig.CustomEnumConverter<?>> enumConverterFactory = type -> new EnumConverter(type); + private boolean skipAccessModeWrapper; // @experimental polymorphic api private Function<String, Class<?>> typeLoader; @@ -200,7 +201,7 @@ public class MapperBuilder { throw new IllegalStateException("AccessMode is not an BaseAccessMode"); } } - if (!KnownNotOpenedJavaTypesAccessMode.class.isInstance(accessMode)) { + if (!skipAccessModeWrapper && !KnownNotOpenedJavaTypesAccessMode.class.isInstance(accessMode)) { accessMode = new KnownNotOpenedJavaTypesAccessMode(accessMode); } @@ -561,4 +562,9 @@ public class MapperBuilder { this.discriminator = value; return this; } + + public MapperBuilder setSkipAccessModeWrapper(final boolean skipAccessModeWrapper) { + this.skipAccessModeWrapper = skipAccessModeWrapper; + return this; + } }