mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-13 08:15:48 +00:00
[fixes #3315] Copy annotations on record components
This commit is contained in:
1 parent
250bc0660b
commit
4c8607f2a4
4 files changed
+175
-8
No files matched your search
@@ -0,0 +1,69 @@
|
||||
import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
public @lombok.extern.jackson.Jacksonized @lombok.Builder @JsonIgnoreProperties @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedOnRecord.JacksonizedOnRecordBuilder.class) record JacksonizedOnRecord(String string, List values) {
|
||||
public static @java.lang.SuppressWarnings("all") @JsonIgnoreProperties @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonizedOnRecordBuilder {
|
||||
private @java.lang.SuppressWarnings("all") String string;
|
||||
private @java.lang.SuppressWarnings("all") java.util.ArrayList<String> values;
|
||||
@java.lang.SuppressWarnings("all") JacksonizedOnRecordBuilder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @JsonProperty("test") @java.lang.SuppressWarnings("all") JacksonizedOnRecord.JacksonizedOnRecordBuilder string(final @Nullable String string) {
|
||||
this.string = string;
|
||||
return this;
|
||||
}
|
||||
public @JsonAnySetter @java.lang.SuppressWarnings("all") JacksonizedOnRecord.JacksonizedOnRecordBuilder value(final String value) {
|
||||
if ((this.values == null))
|
||||
this.values = new java.util.ArrayList<String>();
|
||||
this.values.add(value);
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") JacksonizedOnRecord.JacksonizedOnRecordBuilder values(final java.util.Collection<? extends String> values) {
|
||||
if ((values == null))
|
||||
{
|
||||
throw new java.lang.NullPointerException("values cannot be null");
|
||||
}
|
||||
if ((this.values == null))
|
||||
this.values = new java.util.ArrayList<String>();
|
||||
this.values.addAll(values);
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") JacksonizedOnRecord.JacksonizedOnRecordBuilder clearValues() {
|
||||
if ((this.values != null))
|
||||
this.values.clear();
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") JacksonizedOnRecord build() {
|
||||
java.util.List<String> values;
|
||||
switch (((this.values == null) ? 0 : this.values.size())) {
|
||||
case 0 :
|
||||
values = java.util.Collections.emptyList();
|
||||
break;
|
||||
case 1 :
|
||||
values = java.util.Collections.singletonList(this.values.get(0));
|
||||
break;
|
||||
default :
|
||||
values = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.values));
|
||||
}
|
||||
return new JacksonizedOnRecord(this.string, values);
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
|
||||
return (((("JacksonizedOnRecord.JacksonizedOnRecordBuilder(string=" + this.string) + ", values=") + this.values) + ")");
|
||||
}
|
||||
}
|
||||
/* Implicit */ private final String string;
|
||||
/* Implicit */ private final List<String> values;
|
||||
public JacksonizedOnRecord(@JsonProperty("test") @Nullable String string, @lombok.Singular List<String> values) {
|
||||
super();
|
||||
.string = string;
|
||||
.values = values;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") JacksonizedOnRecord.JacksonizedOnRecordBuilder builder() {
|
||||
return new JacksonizedOnRecord.JacksonizedOnRecordBuilder();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user