From 9488c1c248569d91fa74ed9358baba7f175f02fa Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 12 Jun 2017 22:29:24 +0200 Subject: Removed old website; we no longer use it. --- website-old/all-versions.html | 88 ---------- website-old/buttonbar.jpg | Bin 13350 -> 0 bytes website-old/buttonbar.psd | Bin 1127163 -> 0 bytes website-old/buttonbar_unmodified.png | Bin 351877 -> 0 bytes website-old/changelog.html | 15 -- website-old/clear.gif | Bin 43 -> 0 bytes website-old/credits.html | 132 --------------- website-old/disableCheckedExceptions.html | 61 ------- website-old/download-edge-none.html | 54 ------ website-old/download-edge.html | 63 ------- website-old/download.html | 97 ----------- website-old/downloadButton.png | Bin 1273 -> 0 bytes website-old/downloadButton.svg | 16 -- website-old/favicon.ico | Bin 4286 -> 0 bytes website-old/features/Builder.html | 187 --------------------- website-old/features/Cleanup.html | 86 ---------- website-old/features/Constructor.html | 109 ------------ website-old/features/Data.html | 84 --------- website-old/features/EqualsAndHashCode.html | 97 ----------- website-old/features/GetterLazy.html | 66 -------- website-old/features/GetterSetter.html | 105 ------------ website-old/features/Log.html | 105 ------------ website-old/features/NonNull.html | 86 ---------- website-old/features/Singular-snippet.html | 43 ----- website-old/features/SneakyThrows.html | 96 ----------- website-old/features/Synchronized.html | 85 ---------- website-old/features/ToString.html | 92 ---------- website-old/features/Value.html | 87 ---------- website-old/features/clear.gif | Bin 43 -> 0 bytes website-old/features/configuration.html | 115 ------------- website-old/features/delombok.html | 80 --------- website-old/features/experimental/Accessors.html | 116 ------------- website-old/features/experimental/Builder.html | 36 ---- website-old/features/experimental/Delegate.html | 100 ----------- .../features/experimental/ExtensionMethod.html | 116 ------------- .../features/experimental/FieldDefaults.html | 95 ----------- website-old/features/experimental/Value.html | 36 ---- website-old/features/experimental/Wither.html | 113 ------------- website-old/features/experimental/index.html | 77 --------- website-old/features/experimental/onX.html | 92 ---------- website-old/features/experimental/var.html | 83 --------- website-old/features/features.css | 179 -------------------- website-old/features/gradient.png | Bin 82 -> 0 bytes website-old/features/index.html | 90 ---------- website-old/features/lombok-background.png | Bin 34208 -> 0 bytes website-old/features/val.html | 76 --------- website-old/icon_brush_unused.png | Bin 4350 -> 0 bytes website-old/icon_bugs.png | Bin 6662 -> 0 bytes website-old/icon_contribute.png | Bin 5353 -> 0 bytes website-old/icon_discussion.png | Bin 5889 -> 0 bytes website-old/icon_download.png | Bin 3233 -> 0 bytes website-old/icon_overview.png | Bin 6741 -> 0 bytes website-old/index.css | 182 -------------------- website-old/index.html | 96 ----------- website-old/logi/iepngfix.htc | 187 --------------------- website-old/logi/iepngfix_tilebg.js | 178 -------------------- website-old/logi/jQuery-all.js | 143 ---------------- website-old/logi/reset.css | 67 -------- website-old/lombokBullet.png | Bin 863 -> 0 bytes website-old/mavenrepo/index.html | 99 ----------- website-old/novideo.html | 57 ------- website-old/peppery_background_large.jpg | Bin 294799 -> 0 bytes website-old/poster.png | Bin 114022 -> 0 bytes website-old/reinier.jpg | Bin 6550 -> 0 bytes website-old/robbertjan.jpg | Bin 11605 -> 0 bytes website-old/roel.jpg | Bin 5477 -> 0 bytes website-old/sander.jpg | Bin 53317 -> 0 bytes website-old/setup/android.html | 131 --------------- website-old/setup/ecj.html | 89 ---------- website-old/setup/gwt.html | 68 -------- ...eans-enable-annotation-processing-in-editor.png | Bin 130876 -> 0 bytes website-old/setup/netbeans.html | 65 ------- website-old/setup/pom.xml | 78 --------- website-old/unknown_person.gif | Bin 412 -> 0 bytes website-old/videos/expressInstall.swf | Bin 727 -> 0 bytes website-old/videos/lombok-iPhone.m4v | Bin 8527861 -> 0 bytes website-old/videos/lombok.mp4 | Bin 5657272 -> 0 bytes website-old/videos/lombok.ogv | Bin 6320302 -> 0 bytes website-old/videos/player.swf | Bin 51669 -> 0 bytes website-old/videos/poster.png | Bin 114022 -> 0 bytes website-old/videos/swfobject.js | 4 - 81 files changed, 4702 deletions(-) delete mode 100644 website-old/all-versions.html delete mode 100644 website-old/buttonbar.jpg delete mode 100644 website-old/buttonbar.psd delete mode 100644 website-old/buttonbar_unmodified.png delete mode 100644 website-old/changelog.html delete mode 100644 website-old/clear.gif delete mode 100644 website-old/credits.html delete mode 100644 website-old/disableCheckedExceptions.html delete mode 100644 website-old/download-edge-none.html delete mode 100644 website-old/download-edge.html delete mode 100644 website-old/download.html delete mode 100644 website-old/downloadButton.png delete mode 100644 website-old/downloadButton.svg delete mode 100644 website-old/favicon.ico delete mode 100644 website-old/features/Builder.html delete mode 100644 website-old/features/Cleanup.html delete mode 100644 website-old/features/Constructor.html delete mode 100644 website-old/features/Data.html delete mode 100644 website-old/features/EqualsAndHashCode.html delete mode 100644 website-old/features/GetterLazy.html delete mode 100644 website-old/features/GetterSetter.html delete mode 100644 website-old/features/Log.html delete mode 100644 website-old/features/NonNull.html delete mode 100644 website-old/features/Singular-snippet.html delete mode 100644 website-old/features/SneakyThrows.html delete mode 100644 website-old/features/Synchronized.html delete mode 100644 website-old/features/ToString.html delete mode 100644 website-old/features/Value.html delete mode 100644 website-old/features/clear.gif delete mode 100644 website-old/features/configuration.html delete mode 100644 website-old/features/delombok.html delete mode 100644 website-old/features/experimental/Accessors.html delete mode 100644 website-old/features/experimental/Builder.html delete mode 100644 website-old/features/experimental/Delegate.html delete mode 100644 website-old/features/experimental/ExtensionMethod.html delete mode 100644 website-old/features/experimental/FieldDefaults.html delete mode 100644 website-old/features/experimental/Value.html delete mode 100644 website-old/features/experimental/Wither.html delete mode 100644 website-old/features/experimental/index.html delete mode 100644 website-old/features/experimental/onX.html delete mode 100644 website-old/features/experimental/var.html delete mode 100644 website-old/features/features.css delete mode 100644 website-old/features/gradient.png delete mode 100644 website-old/features/index.html delete mode 100644 website-old/features/lombok-background.png delete mode 100644 website-old/features/val.html delete mode 100644 website-old/icon_brush_unused.png delete mode 100644 website-old/icon_bugs.png delete mode 100644 website-old/icon_contribute.png delete mode 100644 website-old/icon_discussion.png delete mode 100644 website-old/icon_download.png delete mode 100644 website-old/icon_overview.png delete mode 100644 website-old/index.css delete mode 100644 website-old/index.html delete mode 100755 website-old/logi/iepngfix.htc delete mode 100755 website-old/logi/iepngfix_tilebg.js delete mode 100644 website-old/logi/jQuery-all.js delete mode 100644 website-old/logi/reset.css delete mode 100644 website-old/lombokBullet.png delete mode 100644 website-old/mavenrepo/index.html delete mode 100644 website-old/novideo.html delete mode 100644 website-old/peppery_background_large.jpg delete mode 100644 website-old/poster.png delete mode 100644 website-old/reinier.jpg delete mode 100644 website-old/robbertjan.jpg delete mode 100644 website-old/roel.jpg delete mode 100644 website-old/sander.jpg delete mode 100644 website-old/setup/android.html delete mode 100644 website-old/setup/ecj.html delete mode 100644 website-old/setup/gwt.html delete mode 100644 website-old/setup/netbeans-enable-annotation-processing-in-editor.png delete mode 100644 website-old/setup/netbeans.html delete mode 100644 website-old/setup/pom.xml delete mode 100644 website-old/unknown_person.gif delete mode 100644 website-old/videos/expressInstall.swf delete mode 100644 website-old/videos/lombok-iPhone.m4v delete mode 100644 website-old/videos/lombok.mp4 delete mode 100644 website-old/videos/lombok.ogv delete mode 100644 website-old/videos/player.swf delete mode 100644 website-old/videos/poster.png delete mode 100644 website-old/videos/swfobject.js diff --git a/website-old/all-versions.html b/website-old/all-versions.html deleted file mode 100644 index c597d619..00000000 --- a/website-old/all-versions.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - Project Lombok - Historic versions - - -
-

Download older versions of lombok

-
See the changelog for dates and modifications.
- - -
- - - diff --git a/website-old/buttonbar.jpg b/website-old/buttonbar.jpg deleted file mode 100644 index 6eb10e71..00000000 Binary files a/website-old/buttonbar.jpg and /dev/null differ diff --git a/website-old/buttonbar.psd b/website-old/buttonbar.psd deleted file mode 100644 index b8335cbb..00000000 Binary files a/website-old/buttonbar.psd and /dev/null differ diff --git a/website-old/buttonbar_unmodified.png b/website-old/buttonbar_unmodified.png deleted file mode 100644 index 6a3121af..00000000 Binary files a/website-old/buttonbar_unmodified.png and /dev/null differ diff --git a/website-old/changelog.html b/website-old/changelog.html deleted file mode 100644 index df09e661..00000000 --- a/website-old/changelog.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Project Lombok - Changelog - - - @CHANGELOG@ - diff --git a/website-old/clear.gif b/website-old/clear.gif deleted file mode 100644 index 35d42e80..00000000 Binary files a/website-old/clear.gif and /dev/null differ diff --git a/website-old/credits.html b/website-old/credits.html deleted file mode 100644 index de83981e..00000000 --- a/website-old/credits.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - Project Lombok - Credits - - -
-

Project Lombok - About the authors and everyone that's helped us create Project Lombok.

-
-
-

Regular contributors to Project Lombok:

-
-
- Jappe van der Hel -
-
-
- Philipp Eichhorn -
-
-
- Reinier Zwitserloot -
-
-
- Robbert Jan Grootjans -
-
-
- Roel Spilker -
-
-
- Sander Koning -
-
-
- We'd like to thank:
    -
  • Perry Nguyen (pfn on ##java on freenode) for creating the inspiration for project lombok.
  • -
  • Tor Norbye, Jan Lahoda, and Petr Jiricka for helping out with Netbeans internals and/or javac.
  • -
  • The Java Posse for making the java community awesome. Listen to their podcast!
  • -
  • all contributors who submitted patches or helped answering questions!
  • -
- as well as the authors of the following tools that we use:
    -
  • Github for hosting lombok's repository and issue tracker.
  • -
  • The ASM team at ObjectWeb for creating an excellent class file editing tool. - Lombok uses ASM to interact with Eclipse.
  • -
  • Markus Gebhard for creating java2html which we use for the example code snippets on the - features pages.
  • -
  • Kroc Camen's video for everbody. The lombok demo video - runs on just about every system imaginable because of it.
  • -
  • Longtail Video's JWPlayer, which is bringing the video to - those of you who have an aging browser.
  • -
  • The spi project, which makes it very easy to extend lombok with your own transformations.
  • -
  • Apache Ivy - Dependency management
  • -
  • Cobertura which we use to ensure our tests cover as much as possible.
  • -
-
-
- - - - diff --git a/website-old/disableCheckedExceptions.html b/website-old/disableCheckedExceptions.html deleted file mode 100644 index 64ad1cd8..00000000 --- a/website-old/disableCheckedExceptions.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - Project Lombok side projects - Disable checked Exceptions - - -
-

Tired of checked exceptions?

-

- This lombok spinoff project consists of a hack that only works in javac - not eclipse or any other IDE.
- It will completely disable the notion of checked exceptions. You may throw any exception anywhere, and you may - also catch any exception anywhere. In standard javac, you may not catch a checked exception that is not declared - as thrown by at least 1 statement in your try block, unless it is Exception or Throwable.
- This restriction is lifted as well. -

-

Usage

-

- Just make sure disableCheckedExceptions-alpha.jar is on the classpath as you compile. For example:
- javac -cp disableCheckedExceptions-alpha.jar MySource.java -

-

- Ready to try it out? download it here: disableCheckedExceptions-alpha.jar -

-

- Want to know how its done? Grab the lombok repository here on github, - and look in the experimental directory. -

- -
- - - diff --git a/website-old/download-edge-none.html b/website-old/download-edge-none.html deleted file mode 100644 index 07091b90..00000000 --- a/website-old/download-edge-none.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - Project Lombok - Cutting Edge build - - -
-

Download Lombok Cutting Edge build

-
- No edge build as been released since the last stable release of lombok. -
- -
- - - diff --git a/website-old/download-edge.html b/website-old/download-edge.html deleted file mode 100644 index 4cf794a6..00000000 --- a/website-old/download-edge.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - Project Lombok - Cutting Edge build - - -
-

Download Lombok Cutting Edge build

-
- version: @VERSION-EDGE@ -
-

- @CHANGELOG-EDGE@ -

- - Download now! - -

- Cutting edge a bit too gutsy for you? You can grab the stable release instead. -

- -
- - - diff --git a/website-old/download.html b/website-old/download.html deleted file mode 100644 index f2e85976..00000000 --- a/website-old/download.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - Project Lombok - - - Fork me on GitHub -
-

Project Lombok - Download

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Maven, Ivy or GradleLombok is in maven central. More…
JavacJust put lombok.jar on the classpath.
NetBeansJust put lombok.jar on the classpath and enable annotation processing. More…
Eclipse and variantsRun lombok.jar as a java app (i.e. doubleclick it, usually) to install. Also add lombok.jar to your project. Supported variants: Springsource Tool Suite, JBoss Developer Studio
IDEA IntelliJA plugin developed by Michael Plushnikov adds support for most features.
JavadocFirst delombok your code then run javadoc on the result. More…
AndroidThe proper way to use lombok with android is somewhat complicated but possible. More…
GWTLombok works with GWT. More…
Play! FrameworkUse Aaron Freeman's lombok play plugin.
ecjLombok works on ecj and ecj-based tools. More…
-

- Or, download a previous version of lombok. -

-
-
-
- -
- - - diff --git a/website-old/downloadButton.png b/website-old/downloadButton.png deleted file mode 100644 index 8a0c73b8..00000000 Binary files a/website-old/downloadButton.png and /dev/null differ diff --git a/website-old/downloadButton.svg b/website-old/downloadButton.svg deleted file mode 100644 index ce5e33a8..00000000 --- a/website-old/downloadButton.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website-old/favicon.ico b/website-old/favicon.ico deleted file mode 100644 index bf83a474..00000000 Binary files a/website-old/favicon.ico and /dev/null differ diff --git a/website-old/features/Builder.html b/website-old/features/Builder.html deleted file mode 100644 index d7453c5b..00000000 --- a/website-old/features/Builder.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - @Builder -
-
-
- -

@Builder

- -
-

Since

-

- @Builder was introduced as experimental feature in lombok v0.12.0. -

- @Builder gained @Singular support and was promoted to the main lombok package since lombok v1.16.0. -

- @Builder with @Singular adds a clear method since lombok v1.16.8. -

- @Builder.Default functionality was added in lombok v1.16.16. -

-
-

Overview

-

- The @Builder annotation produces complex builder APIs for your classes. -

- @Builder lets you automatically produce the code required to have your class be instantiable with code such as:
- Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build(); -

- @Builder can be placed on a class, or on a constructor, or on a method. While the "on a class" and "on a constructor" - mode are the most common use-case, @Builder is most easily explained with the "method" use-case. -

- A method annotated with @Builder (from now on called the target) causes the following 7 things to be generated:

    -
  • An inner class named FooBuilder, with the same type arguments as the method (called the builder).
  • -
  • In the builder: One private non-static non-final field for each parameter of the target.
  • -
  • In the builder: A package private no-args empty constructor.
  • -
  • In the builder: A 'setter'-like method for each parameter of the target: It has the same type as that parameter and the same name. - It returns the builder itself, so that the setter calls can be chained, as in the above example.
  • -
  • In the builder: A build() method which calls the method, passing in each field. It returns the same type that the - target returns.
  • -
  • In the builder: A sensible toString() implementation.
  • -
  • In the class containing the target: A static builder() method, which creates a new instance of the builder.
  • -
- Each listed generated element will be silently skipped if that element already exists (disregarding parameter counts and looking only at names). This - includes the builder itself: If that class already exists, lombok will simply start injecting fields and methods inside this already existing - class, unless of course the fields / methods to be injected already exist. You may not put any other method (or constructor) generating lombok annotation - on a builder class though; for example, you can not put @EqualsAndHashCode on the builder class. -

- @Builder can generate so-called 'singular' methods for collection parameters/fields. These take 1 element instead of an entire list, and add the - element to the list. For example: Person.builder().job("Mythbusters").job("Unchained Reaction").build(); would result in the List<String> jobs - field to have 2 strings in it. To get this behaviour, the field/parameter needs to be annotated with @Singular. The feature has its own documentation. -

- Now that the "method" mode is clear, putting a @Builder annotation on a constructor functions similarly; effectively, - constructors are just static methods that have a special syntax to invoke them: Their 'return type' is the class they construct, and their - type parameters are the same as the type parameters of the class itself. -

- Finally, applying @Builder to a class is as if you added @AllArgsConstructor(access = AccessLevel.PACKAGE) to the class and applied the - @Builder annotation to this all-args-constructor. This only works if you haven't written any explicit constructors yourself. If you do have an - explicit constructor, put the @Builder annotation on the constructor instead of on the class. -

- If using @Builder to generate builders to produce instances of your own class (this is always the case unless adding @Builder to a static method that doesn't return your own type), you can use @Builder(toBuilder = true) to also generate an instance method in your class called toBuilder(); it creates a new builder that starts out with all the values of this instance. You can put the @Builder.ObtainVia annotation on the parameters (in case of a constructor or static method) or fields (in case of @Builder on a type) to indicate alternative means by which the value for that field/parameter is obtained from the instance. For example, you can specify a method to be invoked: @Builder.ObtainVia(method = "calculateFoo"). -

- The name of the builder class is FoobarBuilder, where Foobar is the simplified, title-cased form of the return type of the - target - that is, the name of your type for @Builder on constructors and types, and the name of the return type for @Builder - on methods. For example, if @Builder is applied to a class named com.yoyodyne.FancyList<T>, then the builder name will be - FancyListBuilder<T>. If @Builder is applied to a method that returns void, the builder will be named - VoidBuilder. -

- The configurable aspects of builder are:

    -
  • The builder's class name (default: return type + 'Builder')
  • -
  • The build() method's name (default: "build")
  • -
  • The builder() method's name (default: "builder")
  • -
  • If you want toBuilder() (default: no)
  • -
- Example usage where all options are changed from their defaults:
- @Builder(builderClassName = "HelloWorldBuilder", buildMethodName = "execute", builderMethodName = "helloWorld", toBuilder = true)
-

-
-
-

@Builder.Default

-

- If a certain field/parameter is never set during a build session, then it always gets 0 / null / false. If you've put @Builder on a class - (and not a method or constructor) you can instead specify the default directly on the field, and annotate the field with @Builder.Default:
- @Builder.Default private final long created = System.currentTimeMillis(); -

-
-
-

@Singular

-

- By annotating one of the parameters (if annotating a method or constructor with @Builder) or fields (if annotating a class with @Builder) with the - @Singular annotation, lombok will treat that builder node as a collection, and it generates 2 'adder' methods instead of a 'setter' method. One which adds a single element to the collection, and one - which adds all elements of another collection to the collection. No setter to just set the collection (replacing whatever was already added) will be generated. A 'clear' method is also generated. These 'singular' builders - are very complicated in order to guarantee the following properties: -

    -
  • When invoking build(), the produced collection will be immutable.
  • -
  • Calling one of the 'adder' methods, or the 'clear' method, after invoking build() does not modify any already generated objects, and, if build() is later called again, another collection with all the elements added since the creation of the builder is generated.
  • -
  • The produced collection will be compacted to the smallest feasible format while remaining efficient.
  • -
-

- @Singular can only be applied to collection types known to lombok. Currently, the supported types are: -

    -
  • java.util:
      -
    • Iterable, Collection, and List (backed by a compacted unmodifiable ArrayList in the general case).
    • -
    • Set, SortedSet, and NavigableSet (backed by a smartly sized unmodifiable HashSet or TreeSet in the general case).
    • -
    • Map, SortedMap, and NavigableMap (backed by a smartly sized unmodifiable HashMap or TreeMap in the general case).
    • -
  • -
  • Guava's com.google.common.collect:
      -
    • ImmutableCollection and ImmutableList (backed by the builder feature of ImmutableList).
    • -
    • ImmutableSet and ImmutableSortedSet (backed by the builder feature of those types).
    • -
    • ImmutableMap, ImmutableBiMap, and ImmutableSortedMap (backed by the builder feature of those types).
    • -
    • ImmutableTable (backed by the builder feature of ImmutableTable).
    • -
  • -
-

- If your identifiers are written in common english, lombok assumes that the name of any collection with @Singular on it is an english plural and will attempt to automatically - singularize that name. If this is possible, the add-one method will use this name. For example, if your collection is called statuses, then the add-one method will automatically - be called status. You can also specify the singular form of your identifier explictly by passing the singular form as argument to the annotation like so: @Singular("axis") List<Line> axes;.
- If lombok cannot singularize your identifier, or it is ambiguous, lombok will generate an error and force you to explicitly specify the singular name. -

- The snippet below does not show what lombok generates for a @Singular field/parameter because it is rather complicated. - You can view a snippet here. -

-
-
-
-

With Lombok

-
@HTML_PRE@
-
-
-
-

Vanilla Java

-
@HTML_POST@
-
-
-
-
-

Supported configuration keys:

-
-
lombok.builder.flagUsage = [warning | error] (default: not set)
-
Lombok will flag any usage of @Builder as a warning or error if configured.
-
lombok.singular.useGuava = [true | false] (default: false)
-
If true, lombok will use guava's ImmutableXxx builders and types to implement java.util collection interfaces, instead of creating - implementations based on Collections.unmodifiableXxx. You must ensure that guava is actually available on the classpath and buildpath if you use this setting. - Guava is used automatically if your field/parameter has one of the guava ImmutableXxx types. -
lombok.singular.auto = [true | false] (default: true)
-
If true (which is the default), lombok automatically tries to singularize your identifier name by assuming that it is a common english plural. - If false, you must always explicitly specify the singular name, and lombok will generate an error if you don't (useful if you write your code in a language other than english). -
-
-
-

Small print

-

- @Singular support for java.util.NavigableMap/Set only works if you are compiling with JDK1.8 or higher. -

- You cannot manually provide some or all parts of a @Singular node; the code lombok generates is too complex for this. If you want to - manually control (part of) the builder code associated with some field or parameter, don't use @Singular and add everything you need manually. -

- The sorted collections (java.util: SortedSet, NavigableSet, SortedMap, NavigableMap and guava: ImmutableSortedSet, ImmutableSortedMap) require that the type argument of the collection has natural order (implements java.util.Comparable). There is no way to pass an explicit Comparator to use in the builder. -

- An ArrayList is used to store added elements as call methods of a @Singular marked field, if the target collection is from the java.util package, even if the collection is a set or map. Because lombok ensures that generated collections are compacted, a new backing instance of a set or map must be constructed anyway, and storing the data as an ArrayList during the build process is more efficient that storing it as a map or set. This behaviour is not externally visible, an an implementation detail of the current implementation of the java.util recipes for @Singular @Builder. -

- With toBuilder = true applied to static methods, any type parameter on the annotated static method must show up in the returntype. -

-
-
- -
-
-
- - - diff --git a/website-old/features/Cleanup.html b/website-old/features/Cleanup.html deleted file mode 100644 index 37e53c18..00000000 --- a/website-old/features/Cleanup.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - @Cleanup -
-
-
- -

@Cleanup

- -
-

Overview

-

- You can use @Cleanup to ensure a given resource is automatically cleaned up before the code execution path exits your - current scope. You do this by annotating any local variable declaration with the @Cleanup annotation like so:
- @Cleanup InputStream in = new FileInputStream("some/file");
- As a result, at the end of the scope you're in, in.close() is called. This call is guaranteed to run by way of a - try/finally construct. Look at the example below to see how this works. -

- If the type of object you'd like to cleanup does not have a close() method, but some other no-argument method, you can - specify the name of this method like so:
- @Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
- By default, the cleanup method is presumed to be close(). A cleanup method that takes 1 or more arguments cannot be called via - @Cleanup. -

-
-
-
-

With Lombok

-
@HTML_PRE@
-
-
-
-

Vanilla Java

-
@HTML_POST@
-
-
-
-
-

Supported configuration keys:

-
-
lombok.cleanup.flagUsage = [warning | error] (default: not set)
-
Lombok will flag any usage of @Cleanup as a warning or error if configured.
-
-
-
-

Small print

-

- In the finally block, the cleanup method is only called if the given resource is not null. However, if you use delombok - on the code, a call to lombok.Lombok.preventNullAnalysis(Object o) is inserted to prevent warnings if static code analysis could - determine that a null-check would not be needed. Compilation with lombok.jar on the classpath removes that method call, - so there is no runtime dependency. -

-

- If your code throws an exception, and the cleanup method call that is then triggered also throws an exception, then the original exception - is hidden by the exception thrown by the cleanup call. You should not rely on this 'feature'. Preferably, lombok would like to generate - code so that, if the main body has thrown an exception, any exception thrown by the close call is silently swallowed (but if the main body - exited in any other way, exceptions by the close call will not be swallowed). The authors of lombok do not currently know of a feasible way - to implement this scheme, but if java updates allow it, or we find a way, we'll fix it. -

- You do still need to handle any exception that the cleanup method can generate! -

-
-
- -
-
-
- - - diff --git a/website-old/features/Constructor.html b/website-old/features/Constructor.html deleted file mode 100644 index 407f54ad..00000000 --- a/website-old/features/Constructor.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - @XArgsConstructor -
-
-
- -

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

- -
-

Overview

-

- This set of 3 annotations generate a constructor that will accept 1 parameter for certain fields, and simply assigns this parameter to the field. -

- @NoArgsConstructor will generate a constructor with no parameters. If this is not possible (because of final fields), a compiler error will result instead, unless @NoArgsConstructor(force = true) is used, then all final fields are initialized with 0 / false / null. For fields with constraints, such as @NonNull fields, no check or assignment is generated, so be aware that these constraints may then not be - fulfilled until those fields are properly initialized later. Certain java constructs, such as hibernate and the Service Provider Interface require a no-args constructor. - This annotation is useful primarily in combination with either @Data or one of the other constructor generating annotations. -

- @RequiredArgsConstructor generates a constructor with 1 parameter for each field that requires special handling. All non-initialized final fields get a parameter, - as well as any fields that are marked as @NonNull that aren't initialized where they are declared. For those fields marked with @NonNull, an explicit - null check is also generated. The constructor will throw a NullPointerException if any of the parameters intended for the fields marked with @NonNull - contain null. The order of the parameters match the order in which the fields appear in your class. -

- @AllArgsConstructor generates a constructor with 1 parameter for each field in your class. Fields marked with @NonNull result in null checks on - those parameters. -

- Each of these annotations allows an alternate form, where the generated constructor is always private, and an additional static factory method that wraps around the - private constructor is generated. This mode is enabled by supplying the staticName value for the annotation, like so: @RequiredArgsConstructor(staticName="of"). - Such a static factory method will infer generics, unlike a normal constructor. This means your API users get write MapEntry.of("foo", 5) instead of the much longer - new MapEntry<String, Integer>("foo", 5). -

- To put annotations on the generated constructor, you can use onConstructor=@__({@AnnotationsHere}), but be careful; this is an experimental feature. For more details see the documentation on the onX feature. -

- Static fields are skipped by these annotations. Also, a @java.beans.ConstructorProperties annotation is added for all constructors with at least 1 argument, - which allows bean editor tools to call the generated constructors. @ConstructorProperties is new in Java 1.6, which means that if your code is intended for - compilation on Java 1.5, a compiler error will occur. Running on a JVM 1.5 should be no problem (the annotation will be ignored). To suppress the generation of - the @ConstructorProperties annotation, add a parameter to your annotation: @AllArgsConstructor(suppressConstructorProperties=true). However, - as java 1.5, which has already been end-of-lifed, fades into obscurity, this parameter will eventually be removed. It has also been marked deprecated for this reason. -

- Unlike most other lombok annotations, the existence of an explicit constructor does not stop these annotations from generating their own constructor. This means you can write your own specialized constructor, and let lombok generate the boilerplate ones as well. If a conflict arises (one of your constructors ends up with the same signature as one that lombok generates), a compiler error will occur. -

-
-
-
-

With Lombok

-
@HTML_PRE@
-
-
-
-

Vanilla Java

-
@HTML_POST@
-
-
-
-
-

Supported configuration keys:

-
-
lombok.anyConstructor.suppressConstructorProperties = [true | false] (default: false)
-
If set to true, then lombok will skip adding a @java.beans.ConstructorProperties to generated constructors. This is useful in android and GWT development where that annotation is not usually available.
-
lombok.[allArgsConstructor|requiredArgsConstructor|noArgsConstructor].flagUsage = [warning | error] (default: not set)
-
Lombok will flag any usage of the relevant annotation (@AllArgsConstructor, @RequiredArgsConstructor or @NoArgsConstructor) as a warning or error if configured.
-
lombok.anyConstructor.flagUsage = [warning | error] (default: not set)
-
Lombok will flag any usage of any of the 3 constructor-generating annotations as a warning or error if configured.
-
-
-
-

Small print

-

- Even if a field is explicitly initialized with null, lombok will consider the requirement to avoid null as fulfilled, and will NOT consider - the field as a 'required' argument. The assumption is that if you explicitly assign null to a field that you've also marked as @NonNull - signals you must know what you're doing. -

- The @java.beans.ConstructorProperties annotation is never generated for a constructor with no arguments. This also explains why @NoArgsConstructor - lacks the suppressConstructorProperties annotation method. The generated static factory methods also do not get @ConstructorProperties, as this annotation can only be added to real constructors. -

- @XArgsConstructor can also be used on an enum definition. The generated constructor will always be - private, because non-private constructors aren't legal in enums. You don't have to specify AccessLevel.PRIVATE. -

- While suppressConstructorProperties has been marked deprecated in anticipation of a world where all java environments have the - @ConstructorProperties annotation available, first GWT 2.2 and Android 2.3.3, which do not (yet) have this annotation, will have - to be ancient history before this annotation parameter will be removed. -

- The flagUsage configuration keys do not trigger when a constructor is generated by @Data, @Value or any other lombok annotation. -

-
-
- -
-
-
- - - diff --git a/website-old/features/Data.html b/website-old/features/Data.html deleted file mode 100644 index d69cfac3..00000000 --- a/website-old/features/Data.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - @Data -
-
-
- -

@Data

-