mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-11 12:19:00 +00:00
[fixes #2168] Added JsonSetter as a copyable annotation
This commit is contained in:
1 parent
b439e4ce77
commit
e1d1415d6e
6 files changed
+31
-3
No files matched your search
@@ -302,6 +302,7 @@ public class HandlerUtil {
|
||||
}));
|
||||
COPY_TO_SETTER_ANNOTATIONS = Collections.unmodifiableList(Arrays.asList(new String[] {
|
||||
"com.fasterxml.jackson.annotation.JsonProperty",
|
||||
"com.fasterxml.jackson.annotation.JsonSetter",
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.fasterxml.jackson.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface JsonSetter {
|
||||
Nulls nulls();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.fasterxml.jackson.annotation;
|
||||
|
||||
public enum Nulls {
|
||||
SKIP;
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.fasterxml.jackson.annotation.Nulls;
|
||||
public class JacksonJsonProperty {
|
||||
@JsonProperty("kebab-case-prop")
|
||||
@JsonSetter(nulls = Nulls.SKIP)
|
||||
public String kebabCaseProp;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
JacksonJsonProperty(final String kebabCaseProp) {
|
||||
@@ -14,6 +17,7 @@ public class JacksonJsonProperty {
|
||||
JacksonJsonPropertyBuilder() {
|
||||
}
|
||||
@JsonProperty("kebab-case-prop")
|
||||
@JsonSetter(nulls = Nulls.SKIP)
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public JacksonJsonPropertyBuilder kebabCaseProp(final String kebabCaseProp) {
|
||||
this.kebabCaseProp = kebabCaseProp;
|
||||
@@ -34,6 +38,7 @@ public class JacksonJsonProperty {
|
||||
return new JacksonJsonPropertyBuilder();
|
||||
}
|
||||
@JsonProperty("kebab-case-prop")
|
||||
@JsonSetter(nulls = Nulls.SKIP)
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public void setKebabCaseProp(final String kebabCaseProp) {
|
||||
this.kebabCaseProp = kebabCaseProp;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.fasterxml.jackson.annotation.Nulls;
|
||||
import lombok.Builder;
|
||||
import lombok.Setter;
|
||||
public @Builder class JacksonJsonProperty {
|
||||
@@ -7,7 +9,7 @@ public @Builder class JacksonJsonProperty {
|
||||
@java.lang.SuppressWarnings("all") JacksonJsonPropertyBuilder() {
|
||||
super();
|
||||
}
|
||||
public @JsonProperty("kebab-case-prop") @java.lang.SuppressWarnings("all") JacksonJsonPropertyBuilder kebabCaseProp(final String kebabCaseProp) {
|
||||
public @JsonProperty("kebab-case-prop") @JsonSetter(nulls = Nulls.SKIP) @java.lang.SuppressWarnings("all") JacksonJsonPropertyBuilder kebabCaseProp(final String kebabCaseProp) {
|
||||
this.kebabCaseProp = kebabCaseProp;
|
||||
return this;
|
||||
}
|
||||
@@ -18,7 +20,7 @@ public @Builder class JacksonJsonProperty {
|
||||
return (("JacksonJsonProperty.JacksonJsonPropertyBuilder(kebabCaseProp=" + this.kebabCaseProp) + ")");
|
||||
}
|
||||
}
|
||||
public @JsonProperty("kebab-case-prop") @Setter String kebabCaseProp;
|
||||
public @JsonProperty("kebab-case-prop") @JsonSetter(nulls = Nulls.SKIP) @Setter String kebabCaseProp;
|
||||
@java.lang.SuppressWarnings("all") JacksonJsonProperty(final String kebabCaseProp) {
|
||||
super();
|
||||
this.kebabCaseProp = kebabCaseProp;
|
||||
@@ -26,7 +28,7 @@ public @Builder class JacksonJsonProperty {
|
||||
public static @java.lang.SuppressWarnings("all") JacksonJsonPropertyBuilder builder() {
|
||||
return new JacksonJsonPropertyBuilder();
|
||||
}
|
||||
public @JsonProperty("kebab-case-prop") @java.lang.SuppressWarnings("all") void setKebabCaseProp(final String kebabCaseProp) {
|
||||
public @JsonProperty("kebab-case-prop") @JsonSetter(nulls = Nulls.SKIP) @java.lang.SuppressWarnings("all") void setKebabCaseProp(final String kebabCaseProp) {
|
||||
this.kebabCaseProp = kebabCaseProp;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,13 @@
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.fasterxml.jackson.annotation.Nulls;
|
||||
import lombok.Builder;
|
||||
import lombok.Setter;
|
||||
|
||||
@Builder
|
||||
public class JacksonJsonProperty {
|
||||
@JsonProperty("kebab-case-prop")
|
||||
@JsonSetter(nulls = Nulls.SKIP)
|
||||
@Setter
|
||||
public String kebabCaseProp;
|
||||
}
|
||||
Reference in new issue
Block a user