diff --git a/changelog/@unreleased/pr-2351.v2.yml b/changelog/@unreleased/pr-2351.v2.yml new file mode 100644 index 000000000..be7d60298 --- /dev/null +++ b/changelog/@unreleased/pr-2351.v2.yml @@ -0,0 +1,5 @@ +type: improvement +improvement: + description: Singleton beans use a JsonCreator with mode=PROPERTIES + links: + - https://github.com/palantir/conjure-java/pull/2351 diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/EmptyObjectExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/EmptyObjectExample.java index c9b52ee28..8955b249e 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/EmptyObjectExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/EmptyObjectExample.java @@ -19,7 +19,7 @@ public String toString() { return "EmptyObjectExample{}"; } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) public static EmptyObjectExample of() { return INSTANCE; } diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/strict/EmptyObjectNotStrict.java b/conjure-java-core/src/integrationInput/java/com/palantir/strict/EmptyObjectNotStrict.java index c6bb919b6..9bffd3e06 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/strict/EmptyObjectNotStrict.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/strict/EmptyObjectNotStrict.java @@ -21,7 +21,7 @@ public String toString() { return "EmptyObjectNotStrict{}"; } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) public static EmptyObjectNotStrict of() { return INSTANCE; } diff --git a/conjure-java-core/src/integrationInput/java/test/prefix/com/palantir/product/EmptyObjectExample.java b/conjure-java-core/src/integrationInput/java/test/prefix/com/palantir/product/EmptyObjectExample.java index 35a0b78a2..2bd254e1b 100644 --- a/conjure-java-core/src/integrationInput/java/test/prefix/com/palantir/product/EmptyObjectExample.java +++ b/conjure-java-core/src/integrationInput/java/test/prefix/com/palantir/product/EmptyObjectExample.java @@ -21,7 +21,7 @@ public String toString() { return "EmptyObjectExample{}"; } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) public static EmptyObjectExample of() { return INSTANCE; } diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/types/BeanGenerator.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/types/BeanGenerator.java index bcf20d0ed..391e6db9f 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/types/BeanGenerator.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/types/BeanGenerator.java @@ -405,7 +405,7 @@ private static MethodSpec createStaticFactoryMethodForEmptyBean(ClassName object return MethodSpec.methodBuilder("of") .addModifiers(Modifier.PUBLIC, Modifier.STATIC) .returns(objectClass) - .addAnnotation(ConjureAnnotations.delegatingJsonCreator()) + .addAnnotation(ConjureAnnotations.propertiesJsonCreator()) .addCode("return $L;", SINGLETON_INSTANCE_NAME) .build(); }