<feed xmlns='http://www.w3.org/2005/Atom'>
<title>github/lombok.git/src/core/lombok/experimental, branch feat/memoize</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/'/>
<entry>
<title>Initial draft for @lombok.experimental.Memoize</title>
<updated>2023-04-05T23:04:06+00:00</updated>
<author>
<name>nea</name>
<email>nea@nea.moe</email>
</author>
<published>2023-04-05T22:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=83c63686d7ef6c745ed9d853e33c293f7d6bb8d5'/>
<id>83c63686d7ef6c745ed9d853e33c293f7d6bb8d5</id>
<content type='text'>
This is an initial draft for how an @Memoize annotation could look like.
It currently lacks features such as:

 - Thread safety
 - Cache invalidation
 - Soft/Weak References for a lower memory profile
 - Avoiding using a Map entirely for parameterless methods

Ideally at least some of these properties should be configurable using
flags and/or annotation properties (some users might prefer a non
thread safe cache for better performance).

Example Usage:

```java
class Test {
    int invocationCount = 0;

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(test.x(1, 2));
        System.out.println(test.x(1, 2));
        System.out.println(test.x(1, 3));
        System.out.println("Invocation Count: " + test.invocationCount);
    }

    @lombok.experimental.Memoize
    public int x(int y, int z) {
        invocationCount++;
        return y + z;
    }
}
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an initial draft for how an @Memoize annotation could look like.
It currently lacks features such as:

 - Thread safety
 - Cache invalidation
 - Soft/Weak References for a lower memory profile
 - Avoiding using a Map entirely for parameterless methods

Ideally at least some of these properties should be configurable using
flags and/or annotation properties (some users might prefer a non
thread safe cache for better performance).

Example Usage:

```java
class Test {
    int invocationCount = 0;

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(test.x(1, 2));
        System.out.println(test.x(1, 2));
        System.out.println(test.x(1, 3));
        System.out.println("Invocation Count: " + test.invocationCount);
    }

    @lombok.experimental.Memoize
    public int x(int y, int z) {
        invocationCount++;
        return y + z;
    }
}
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2022-08-25T16:01:54+00:00</updated>
<author>
<name>Michael Ernst</name>
<email>mernst@cs.washington.edu</email>
</author>
<published>2022-08-25T16:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=ce685ec1696a95d6a73dc111d0ccafa8ce07a75e'/>
<id>ce685ec1696a95d6a73dc111d0ccafa8ce07a75e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[implements #1456] accessors can now be made final via `@Accessors`.</title>
<updated>2022-02-08T05:02:05+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2022-02-08T05:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=261758b4448b3d48ff2f48926ffcb8ea66121603'/>
<id>261758b4448b3d48ff2f48926ffcb8ea66121603</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[#2693] Review and updates for javabeans-style capitalization lombok.config</title>
<updated>2021-10-18T18:24:37+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2021-10-18T13:44:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=dbc67c5c2d0388692f9c9dec02b294da14fd5b56'/>
<id>dbc67c5c2d0388692f9c9dec02b294da14fd5b56</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding a new accessors flag - javaBeansSpecCapitalization</title>
<updated>2021-10-17T18:17:13+00:00</updated>
<author>
<name>ysherwin</name>
<email>ysherwin@amazon.com</email>
</author>
<published>2021-10-17T18:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=d2e8370c24ece8f92d7ca417c25c0f7d60ea039a'/>
<id>d2e8370c24ece8f92d7ca417c25c0f7d60ea039a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[pr 2702] finishing the `@StandardException` feature.</title>
<updated>2021-04-16T04:40:35+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2021-04-16T04:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=415e303ac283df8d694b311f4f8df08f6e79cf0e'/>
<id>415e303ac283df8d694b311f4f8df08f6e79cf0e</id>
<content type='text'>
* rewritten how it works a bit: Now compatible with parent exceptions that don't have the Throwable variants.
* rewritten how it works a bit: You can now provide the full constructor only; the rest will forward to it.
* fixing up style.
* rewrite the docs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* rewritten how it works a bit: Now compatible with parent exceptions that don't have the Throwable variants.
* rewritten how it works a bit: You can now provide the full constructor only; the rest will forward to it.
* fixing up style.
* rewrite the docs.
</pre>
</div>
</content>
</entry>
<entry>
<title>@StandardException feature working draft</title>
<updated>2021-03-24T22:52:08+00:00</updated>
<author>
<name>ttzn</name>
<email>ttzn.dev@gmail.com</email>
</author>
<published>2021-03-24T22:52:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=af16ba23cd46fa3d3b096daa8d725df2b4d78976'/>
<id>af16ba23cd46fa3d3b096daa8d725df2b4d78976</id>
<content type='text'>
* move feature under experimental
* replace ProviderFor with Provides
* add doc material (to be completed)
* add author
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* move feature under experimental
* replace ProviderFor with Provides
* add doc material (to be completed)
* add author
</pre>
</div>
</content>
</entry>
<entry>
<title>[trivial] typos in javadoc</title>
<updated>2020-06-23T13:55:17+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2020-05-28T22:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=22ac024abb3680b298bef78052f5a13239513b29'/>
<id>22ac024abb3680b298bef78052f5a13239513b29</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[issue #2368] [withBy] support for javac</title>
<updated>2020-02-15T06:23:10+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2019-08-26T22:15:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=a991bebe41bd5037323f682301a5fe77ea89b7b9'/>
<id>a991bebe41bd5037323f682301a5fe77ea89b7b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>setter prefixes for SuperBuilder</title>
<updated>2020-02-08T15:09:56+00:00</updated>
<author>
<name>Jan Rieke</name>
<email>it@janrieke.de</email>
</author>
<published>2020-02-07T13:28:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=6e2d23fdd7613de9650ffaf00c6e24a6ead0d74b'/>
<id>6e2d23fdd7613de9650ffaf00c6e24a6ead0d74b</id>
<content type='text'>
setter prefixes for SuperBuilder [javac]
better javadoc for the SuperBuilder setterPrefix value
setter prefixes for SuperBuilder [ecj]
add test for SuperBuilder setter method customization
fix setter method customization with setterPrefix</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
setter prefixes for SuperBuilder [javac]
better javadoc for the SuperBuilder setterPrefix value
setter prefixes for SuperBuilder [ecj]
add test for SuperBuilder setter method customization
fix setter method customization with setterPrefix</pre>
</div>
</content>
</entry>
</feed>
