diff options
author | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-01-31 06:33:33 +0100 |
---|---|---|
committer | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-01-31 06:33:33 +0100 |
commit | c42bfbae39990b365a5f05eb23895da6203023bc (patch) | |
tree | 6bbebbff773571debc5709072e735f2f42469d46 /src/core/lombok/Singular.java | |
parent | d31182c4383a5ccc499862d2a8035d49e5202319 (diff) | |
download | lombok-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.java | 67 |
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; } |