From c42bfbae39990b365a5f05eb23895da6203023bc Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Fri, 31 Jan 2020 06:33:33 +0100 Subject: [issue #2221] simplified configuration for `@Singular`-generated plural form nullchecks. --- src/core/lombok/Singular.java | 67 ++----------------------------------------- 1 file changed, 3 insertions(+), 64 deletions(-) (limited to 'src/core/lombok/Singular.java') 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 getMethod() { - return NullCheckExceptionType.ILLEGAL_ARGUMENT_EXCEPTION.getMethod(); - } - }, - NULL_POINTER_EXCEPTION { - @Override public String getExceptionType() { - return NullCheckExceptionType.NULL_POINTER_EXCEPTION.getExceptionType(); - } - - @Override public LombokImmutableList getMethod() { - return NullCheckExceptionType.NULL_POINTER_EXCEPTION.getMethod(); - } - }, - JDK { - @Override public String getExceptionType() { - return NullCheckExceptionType.JDK.getExceptionType(); - } - - @Override public LombokImmutableList getMethod() { - return NullCheckExceptionType.JDK.getMethod(); - } - }, - GUAVA { - @Override public String getExceptionType() { - return NullCheckExceptionType.GUAVA.getExceptionType(); - } - - @Override public LombokImmutableList getMethod() { - return NullCheckExceptionType.GUAVA.getMethod(); - } - }, - IGNORE { - @Override public String getExceptionType() { - return null; - } - - @Override public LombokImmutableList getMethod() { - return null; - } - }; - - - public String toExceptionMessage(String fieldName) { - return fieldName + " cannot be null"; - } - - public abstract String getExceptionType(); - - public abstract LombokImmutableList 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; } -- cgit