diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-07-19 21:18:16 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-07-19 21:18:16 +0200 |
commit | 29cd0ac3e7571b37478bf831a1f4cb8e2653ce1a (patch) | |
tree | b2990a5b498656a4e1d0ec074e8b7bf9b8312922 /src/core/lombok/NoArgsConstructor.java | |
parent | b47e87f8735f2e498beb9372bbd6fb4347e27e34 (diff) | |
download | lombok-29cd0ac3e7571b37478bf831a1f4cb8e2653ce1a.tar.gz lombok-29cd0ac3e7571b37478bf831a1f4cb8e2653ce1a.tar.bz2 lombok-29cd0ac3e7571b37478bf831a1f4cb8e2653ce1a.zip |
Added support for @AllArgsConstructor, @NoArgsConstructor, and @RequiredArgsConstructor for javac.
Diffstat (limited to 'src/core/lombok/NoArgsConstructor.java')
-rw-r--r-- | src/core/lombok/NoArgsConstructor.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/core/lombok/NoArgsConstructor.java b/src/core/lombok/NoArgsConstructor.java new file mode 100644 index 00000000..4d0424ec --- /dev/null +++ b/src/core/lombok/NoArgsConstructor.java @@ -0,0 +1,41 @@ +/* + * Copyright © 2010 Reinier Zwitserloot and Roel Spilker. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package lombok; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Generates a no-args constructor. Will generate an error message if such + * a constructor cannot be written due to the existence of final fields. + * + * NB: Fields with constraints such as {@code @NonNull} will <em>NOT</em> be checked + * in such a constructor, of course! + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.SOURCE) +public @interface NoArgsConstructor { + String staticName() default ""; + AccessLevel access() default lombok.AccessLevel.PUBLIC; +} |