aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/Singular.java
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2020-01-31 06:33:33 +0100
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2020-01-31 06:33:33 +0100
commitc42bfbae39990b365a5f05eb23895da6203023bc (patch)
tree6bbebbff773571debc5709072e735f2f42469d46 /src/core/lombok/Singular.java
parentd31182c4383a5ccc499862d2a8035d49e5202319 (diff)
downloadlombok-c42bfbae39990b365a5f05eb23895da6203023bc.tar.gz
lombok-c42bfbae39990b365a5f05eb23895da6203023bc.tar.bz2
lombok-c42bfbae39990b365a5f05eb23895da6203023bc.zip
[issue #2221] simplified configuration for `@Singular`-generated plural form nullchecks.
Diffstat (limited to 'src/core/lombok/Singular.java')
-rw-r--r--src/core/lombok/Singular.java67
1 files changed, 3 insertions, 64 deletions
diff --git a/src/core/lombok/Singular.java b/src/core/lombok/Singular.java
index f8cf6853..2ceaad58 100644
--- a/src/core/lombok/Singular.java
+++ b/src/core/lombok/Singular.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2017 The Project Lombok Authors.
+ * Copyright (C) 2015-2020 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -27,10 +27,6 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
-import lombok.core.LombokImmutableList;
-import lombok.core.configuration.ExampleValueString;
-import lombok.core.configuration.NullCheckExceptionType;
-
/**
* The singular annotation is used together with {@code @Builder} to create single element 'add' methods in the builder for collections.
*/
@@ -40,63 +36,6 @@ public @interface Singular {
/** @return The singular name of this field. If it's a normal english plural, lombok will figure it out automatically. Otherwise, this parameter is mandatory. */
String value() default "";
- NullCollectionBehavior nullBehavior() default NullCollectionBehavior.NULL_POINTER_EXCEPTION;
-
- @ExampleValueString("[NullPointerException | IllegalArgumentException | JDK | Guava | Ignore]")
- public enum NullCollectionBehavior {
- ILLEGAL_ARGUMENT_EXCEPTION {
- @Override public String getExceptionType() {
- return NullCheckExceptionType.ILLEGAL_ARGUMENT_EXCEPTION.getExceptionType();
- }
-
- @Override public LombokImmutableList<String> getMethod() {
- return NullCheckExceptionType.ILLEGAL_ARGUMENT_EXCEPTION.getMethod();
- }
- },
- NULL_POINTER_EXCEPTION {
- @Override public String getExceptionType() {
- return NullCheckExceptionType.NULL_POINTER_EXCEPTION.getExceptionType();
- }
-
- @Override public LombokImmutableList<String> getMethod() {
- return NullCheckExceptionType.NULL_POINTER_EXCEPTION.getMethod();
- }
- },
- JDK {
- @Override public String getExceptionType() {
- return NullCheckExceptionType.JDK.getExceptionType();
- }
-
- @Override public LombokImmutableList<String> getMethod() {
- return NullCheckExceptionType.JDK.getMethod();
- }
- },
- GUAVA {
- @Override public String getExceptionType() {
- return NullCheckExceptionType.GUAVA.getExceptionType();
- }
-
- @Override public LombokImmutableList<String> getMethod() {
- return NullCheckExceptionType.GUAVA.getMethod();
- }
- },
- IGNORE {
- @Override public String getExceptionType() {
- return null;
- }
-
- @Override public LombokImmutableList<String> getMethod() {
- return null;
- }
- };
-
-
- public String toExceptionMessage(String fieldName) {
- return fieldName + " cannot be null";
- }
-
- public abstract String getExceptionType();
-
- public abstract LombokImmutableList<String> getMethod();
- }
+ /** @return If true, the plural variant (which takes a collection and adds each element inside) will treat {@code null} as an empty collection, i.e. do nothing. If {@code false) (the default), it is null checked as if annotated with {@code @lombok.NonNull}. */
+ boolean ignoreNullCollections() default false;
}