From ad93bb07049e80a2063c1231f236cd12118ec784 Mon Sep 17 00:00:00 2001 From: Charles A Sharp Date: Thu, 18 Apr 2019 10:19:35 -0500 Subject: Updated the text explanation link. OCI moved their Java News Briefs (JNB) to a more general format called Software Engineering Tech Trends (SETT). This changed the link for the article featuring Project Lombok. This minor modification corrects the JNB link to the current location of the article. --- website/templates/main.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website/templates') diff --git a/website/templates/main.html b/website/templates/main.html index fc925d61..03073436 100644 --- a/website/templates/main.html +++ b/website/templates/main.html @@ -25,7 +25,7 @@
-- cgit From 4cbe67361ba58f86e8847926f07a5172db1f6d2f Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 24 Apr 2019 00:40:44 +0200 Subject: [fixes #2085] JDK12 compatibility. Also acknowledging @nqzero for the permit-reflect library which is inspiring our shenanigans :) --- website/templates/credits.html | 2 ++ 1 file changed, 2 insertions(+) (limited to 'website/templates') diff --git a/website/templates/credits.html b/website/templates/credits.html index 3390d762..b5c033ad 100644 --- a/website/templates/credits.html +++ b/website/templates/credits.html @@ -28,6 +28,8 @@ 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. +
  • + nqzero for the permit-reflect library, whose ideas are also used in lombok.
  • All contributors who submitted patches or helped answering questions!
  • -- cgit From 031da25e35cc3ca3bdc1e2783415d27fe83dc8d9 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 24 Apr 2019 00:41:05 +0200 Subject: [website] added the 7-lessons presentation as video --- website/templates/presentations/7lessons.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 website/templates/presentations/7lessons.html (limited to 'website/templates') diff --git a/website/templates/presentations/7lessons.html b/website/templates/presentations/7lessons.html new file mode 100644 index 00000000..3027fbad --- /dev/null +++ b/website/templates/presentations/7lessons.html @@ -0,0 +1,25 @@ +<#import "../_scaffold.html" as main> +<@main.scaffold> + + -- cgit From a2445096cb24fef823a54e34f1e6684b485fc112 Mon Sep 17 00:00:00 2001 From: daliclass Date: Sat, 27 Apr 2019 10:41:22 +0100 Subject: addition of documentation for using Value and NonFinal --- website/templates/features/Value.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website/templates') diff --git a/website/templates/features/Value.html b/website/templates/features/Value.html index 5fe188b3..5d97a7b8 100644 --- a/website/templates/features/Value.html +++ b/website/templates/features/Value.html @@ -17,7 +17,7 @@

    In practice, @Value is shorthand for: final @ToString @EqualsAndHashCode @AllArgsConstructor @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) @Getter, except that explicitly including an implementation of any of the relevant methods simply means that part won't be generated and no warning will be emitted. For example, if you write your own toString, no error occurs, and lombok will not generate a toString. Also, any explicit constructor, no matter the arguments list, implies lombok will not generate a constructor. If you do want lombok to generate the all-args constructor, add @AllArgsConstructor to the class. You can mark any constructor or method with @lombok.experimental.Tolerate to hide them from lombok.

    - It is possible to override the final-by-default and private-by-default behavior using either an explicit access level on a field, or by using the @NonFinal or @PackagePrivate annotations.
    + It is possible to override the final-by-default and private-by-default behavior using either an explicit access level on a field, or by using the @NonFinal or @PackagePrivate annotations. @NonFinal can also be used on a class to remove the final keyword.
    It is possible to override any default behavior for any of the 'parts' that make up @Value by explicitly using that annotation.

    -- cgit From e9faba06316abeeb2a1b4c1fe2ff68173b524ed4 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Wed, 1 May 2019 00:41:18 +0200 Subject: Fix docs. Fixes #2099 --- website/templates/features/configuration.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'website/templates') diff --git a/website/templates/features/configuration.html b/website/templates/features/configuration.html index 7a15f252..bf224108 100644 --- a/website/templates/features/configuration.html +++ b/website/templates/features/configuration.html @@ -30,9 +30,9 @@
    If set to true, generated setters and getters will simply be named the same as the field name, without a get or set prefix.
    - llombok.anyConstructor.addConstructorProperties + lombok.anyConstructor.addConstructorProperties
    - If true, lombok will generate a @java.beans.ConstructorProperties annotation when generating constructors. This is particularly useful for GWT and Android development. Note that you'll need to depend on module 'java.desktop' if you're using jigsaw. + If true, lombok will generate a @java.beans.ConstructorProperties annotation when generating constructors. Note that you'll need to depend on module 'java.desktop' if you're using jigsaw.
    lombok.log.fieldName
    -- cgit From a3180298305ff64e9f671b51d663b750ba7c8efa Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 1 May 2019 00:41:32 +0200 Subject: [fixes #2083] adds feature ‘access level’ to `@Builder` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/templates/features/Builder.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'website/templates') diff --git a/website/templates/features/Builder.html b/website/templates/features/Builder.html index 0818f9d2..4fe416ee 100644 --- a/website/templates/features/Builder.html +++ b/website/templates/features/Builder.html @@ -12,6 +12,8 @@ @Builder.Default functionality was added in lombok v1.16.16.

    @Builder(builderMethodName = "") is legal (and will suppress generation of the builder method) starting with lombok v1.18.8. +

    + @Builder(access = AccessLevel.PACKAGE) is legal (and will generate the builder class, the builder method, etc with the indicated access level) starting with lombok v1.18.8.

    @@ -64,10 +66,12 @@ The builder() method's name (default: "builder")
  • If you want toBuilder() (default: no) +
  • + The access level of all generated elements (default: public).
  • Example usage where all options are changed from their defaults:
    - @Builder(builderClassName = "HelloWorldBuilder", buildMethodName = "execute", builderMethodName = "helloWorld", toBuilder = true)
    + @Builder(builderClassName = "HelloWorldBuilder", buildMethodName = "execute", builderMethodName = "helloWorld", toBuilder = true, access = AccessLevel.PRIVATE)

    @@ -194,6 +198,9 @@ public class JacksonExample { builder method if you just want this functionality, by using: @Builder(toBuilder = true, builderMethodName = "").

    Due to a peculiar way javac processes static imports, trying to do a non-star static import of the static builder() method won't work. Either use a star static import: `import static TypeThatHasABuilder.*;` or don't statically import the builder method. +

    + If setting the access level to PROTECTED, all methods generated inside the builder class are actually generated as public; the meaning of the + protected keyword is different inside the inner class, and the precise behaviour that PROTECTED would indicate (access by any source in the same package is allowed, as well as any subclasses from the outer class, marked with @Builder is not possible, and marking the inner members public is as close as we can get.

    -- cgit From bf0499263b05e11fdd43886df3dc5663c8fee5f4 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 1 May 2019 01:33:57 +0200 Subject: [issue #2092] Add an uppercase option to FieldNameConstants --- website/templates/features/experimental/FieldNameConstants.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'website/templates') diff --git a/website/templates/features/experimental/FieldNameConstants.html b/website/templates/features/experimental/FieldNameConstants.html index 1cbef32a..e88b7670 100644 --- a/website/templates/features/experimental/FieldNameConstants.html +++ b/website/templates/features/experimental/FieldNameConstants.html @@ -6,6 +6,8 @@ @FieldNameConstants was introduced as experimental feature in lombok v1.16.22.

    @FieldNameConstants was redesigned in lombok v1.18.4. +

    + The lombok.config option lombok.fieldNameConstants.uppercase = true was added in lombok v1.18.8.

    @@ -20,7 +22,7 @@ <@f.overview>

    - The @FieldNameConstants annotation generates an inner type which contains 1 constant for each field in your class; either string constants (fields marked public static final, of type java.lang.String) or if you prefer, an enum type with 1 value for each field - write @FieldNameConstants(asEnum = true) for the enum variant. @FieldNameConstants is useful for various marshalling and serialization frameworks. The constant field (whether enum value or string constant) always has the exact same name as the field, capitalization and all. + The @FieldNameConstants annotation generates an inner type which contains 1 constant for each field in your class; either string constants (fields marked public static final, of type java.lang.String) or if you prefer, an enum type with 1 value for each field - write @FieldNameConstants(asEnum = true) for the enum variant. @FieldNameConstants is useful for various marshalling and serialization frameworks. The constant field (whether enum value or string constant) always has the exact same name as the field, capitalization and all, unless you set the lombok.fieldNameConstants.uppercase = true option in your lombok.config file; in that case lombok will try to UPPER_CASE the name.

    The generated inner type is by default called Fields and is public. You can modify this via @FieldNameConstants(innerTypeName = "FieldNames", access = AccessLevel.PACKAGE) for example. The default inner type name can also be modified via configuration key lombok.fieldNameConstants.innerTypeName. The generated fields are always public.

    @@ -39,6 +41,10 @@ lombok.fieldNameConstants.innerTypeName = a string (default: 'Fields')

    The name of the inner type generated by lombok can be controlled with this configuration key. +
    + lombok.fieldNameConstants.uppercase = [true | false] (default: false) +
    + If true, attempt to uppercase the generated fields.
    -- cgit