mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 16:17:34 +00:00
Added tests to check warnings/errors emitted by Builder.Default support.
This commit is contained in:
1 parent
11fdfb56f7
commit
3b1792c397
6 files changed
+143
-11
No files matched your search
@@ -2,11 +2,13 @@ public class BuilderDefaultsWarnings {
|
||||
long x = System.currentTimeMillis();
|
||||
final int y = 5;
|
||||
int z;
|
||||
java.util.List<String> items;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
BuilderDefaultsWarnings(final long x, final int z) {
|
||||
BuilderDefaultsWarnings(final long x, final int z, final java.util.List<String> items) {
|
||||
this.x = x;
|
||||
this.z = z;
|
||||
this.items = items;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
@@ -19,6 +21,9 @@ public class BuilderDefaultsWarnings {
|
||||
private int z;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
private java.util.ArrayList<String> items;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
BuilderDefaultsWarningsBuilder() {
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@@ -35,14 +40,45 @@ public class BuilderDefaultsWarnings {
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public BuilderDefaultsWarningsBuilder item(final String item) {
|
||||
if (this.items == null) this.items = new java.util.ArrayList<String>();
|
||||
this.items.add(item);
|
||||
return this;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public BuilderDefaultsWarningsBuilder items(final java.util.Collection<? extends String> items) {
|
||||
if (this.items == null) this.items = new java.util.ArrayList<String>();
|
||||
this.items.addAll(items);
|
||||
return this;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public BuilderDefaultsWarningsBuilder clearItems() {
|
||||
if (this.items != null) this.items.clear();
|
||||
return this;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public BuilderDefaultsWarnings build() {
|
||||
return new BuilderDefaultsWarnings(x, z);
|
||||
java.util.List<String> items;
|
||||
switch (this.items == null ? 0 : this.items.size()) {
|
||||
case 0:
|
||||
items = java.util.Collections.emptyList();
|
||||
break;
|
||||
case 1:
|
||||
items = java.util.Collections.singletonList(this.items.get(0));
|
||||
break;
|
||||
default:
|
||||
items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.items));
|
||||
}
|
||||
return new BuilderDefaultsWarnings(x, z, items);
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public java.lang.String toString() {
|
||||
return "BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x + ", z=" + this.z + ")";
|
||||
return "BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x + ", z=" + this.z + ", items=" + this.items + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@@ -51,3 +87,32 @@ public class BuilderDefaultsWarnings {
|
||||
return new BuilderDefaultsWarningsBuilder();
|
||||
}
|
||||
}
|
||||
class NoBuilderButHasDefaults {
|
||||
private final long z = 5;
|
||||
public NoBuilderButHasDefaults() {
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public static class NoBuilderButHasDefaultsBuilder {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
NoBuilderButHasDefaultsBuilder() {
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public NoBuilderButHasDefaults build() {
|
||||
return new NoBuilderButHasDefaults();
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public java.lang.String toString() {
|
||||
return "NoBuilderButHasDefaults.NoBuilderButHasDefaultsBuilder()";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@javax.annotation.Generated("lombok")
|
||||
public static NoBuilderButHasDefaultsBuilder builder() {
|
||||
return new NoBuilderButHasDefaultsBuilder();
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
import lombok.Builder;
|
||||
import lombok.Singular;
|
||||
public @Builder class BuilderDefaultsWarnings {
|
||||
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class BuilderDefaultsWarningsBuilder {
|
||||
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") long x;
|
||||
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") int z;
|
||||
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.util.ArrayList<String> items;
|
||||
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder() {
|
||||
super();
|
||||
}
|
||||
@@ -14,22 +16,72 @@ public @Builder class BuilderDefaultsWarnings {
|
||||
this.z = z;
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder item(String item) {
|
||||
if ((this.items == null))
|
||||
this.items = new java.util.ArrayList<String>();
|
||||
this.items.add(item);
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder items(java.util.Collection<? extends String> items) {
|
||||
if ((this.items == null))
|
||||
this.items = new java.util.ArrayList<String>();
|
||||
this.items.addAll(items);
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder clearItems() {
|
||||
if ((this.items != null))
|
||||
this.items.clear();
|
||||
return this;
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings build() {
|
||||
return new BuilderDefaultsWarnings(x, z);
|
||||
java.util.List<String> items;
|
||||
switch (((this.items == null) ? 0 : this.items.size())) {
|
||||
case 0 :
|
||||
items = java.util.Collections.emptyList();
|
||||
break;
|
||||
case 1 :
|
||||
items = java.util.Collections.singletonList(this.items.get(0));
|
||||
break;
|
||||
default :
|
||||
items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.items));
|
||||
}
|
||||
return new BuilderDefaultsWarnings(x, z, items);
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() {
|
||||
return (((("BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x) + ", z=") + this.z) + ")");
|
||||
return (((((("BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x) + ", z=") + this.z) + ", items=") + this.items) + ")");
|
||||
}
|
||||
}
|
||||
long x = System.currentTimeMillis();
|
||||
final int y = 5;
|
||||
@Builder.Default int z;
|
||||
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings(final long x, final int z) {
|
||||
@Builder.Default @Singular java.util.List<String> items;
|
||||
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings(final long x, final int z, final java.util.List<String> items) {
|
||||
super();
|
||||
this.x = x;
|
||||
this.z = z;
|
||||
this.items = items;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder builder() {
|
||||
return new BuilderDefaultsWarningsBuilder();
|
||||
}
|
||||
}
|
||||
class NoBuilderButHasDefaults {
|
||||
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class NoBuilderButHasDefaultsBuilder {
|
||||
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaultsBuilder() {
|
||||
super();
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaults build() {
|
||||
return new NoBuilderButHasDefaults();
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() {
|
||||
return "NoBuilderButHasDefaults.NoBuilderButHasDefaultsBuilder()";
|
||||
}
|
||||
}
|
||||
private final @Builder.Default long z = 5;
|
||||
public @Builder NoBuilderButHasDefaults() {
|
||||
super();
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaultsBuilder builder() {
|
||||
return new NoBuilderButHasDefaultsBuilder();
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,18 @@
|
||||
import lombok.Builder;
|
||||
import lombok.Singular;
|
||||
|
||||
@Builder
|
||||
public class BuilderDefaultsWarnings {
|
||||
long x = System.currentTimeMillis();
|
||||
final int y = 5;
|
||||
@Builder.Default int z;
|
||||
@Builder.Default @Singular java.util.List<String> items;
|
||||
}
|
||||
|
||||
class NoBuilderButHasDefaults {
|
||||
@Builder.Default private final long z = 5;
|
||||
|
||||
@Builder
|
||||
public NoBuilderButHasDefaults() {
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
5 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant.
|
||||
7 @Builder.Default requires an initializing expression (' = something;').
|
||||
13 @Builder.Default requires @Builder on the class for it to mean anything.
|
||||
6 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant.
|
||||
8 @Builder.Default requires an initializing expression (' = something;').
|
||||
9 @Builder.Default and @Singular cannot be mixed.
|
||||
@@ -1,3 +1,5 @@
|
||||
5 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant.
|
||||
7 @Builder.Default requires an initializing expression (' = something;').
|
||||
6 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant.
|
||||
8 @Builder.Default requires an initializing expression (' = something;').
|
||||
9 @Builder.Default and @Singular cannot be mixed.
|
||||
13 @Builder.Default requires @Builder on the class for it to mean anything.
|
||||
|
||||
@@ -83,7 +83,8 @@
|
||||
<div class="overview">
|
||||
<h3><a id="builderdefault" name="builderdefault">@Builder.Default</a></h3>
|
||||
<p>
|
||||
To specify a default value, which will be used if, during the build process this value is never set, initialize the field and add the <code>@Builder.Default</code> annotation:<br />
|
||||
If a certain field/parameter is never set during a build session, then it always gets 0 / <code>null</code> / false. If you've put <code>@Builder</code> on a class
|
||||
(and not a method or constructor) you can instead specify the default directly on the field, and annotate the field with <code>@Builder.Default</code>:<br />
|
||||
<code>@Builder.Default private final long created = System.currentTimeMillis();</code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user