aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/before/BuilderJavadoc.java
blob: 93b8bedfe820f17cfe165ed9b9600de2a3173182 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import java.util.List;

@lombok.Builder
class BuilderJavadoc<T> {
	/**
	 * Will not get a setter on the builder.
	 */
	private final int noshow = 0;

	/**
	 * Yes, yes gets a setter.
     * @see #also
	 * @param tag is moved to the setter.
	 * @return tag is removed from the setter.
	 */
	private final int yes;

	/**
	 * getsetwith gets a builder setter, an instance getter and setter, and a wither.
	 * @param tag is moved to the setters and wither.
	 * @return tag is moved to the getter.
	 */
	@lombok.Getter
	@lombok.Setter
	@lombok.experimental.Wither
	private int getsetwith;

	/**
	 * Predef has a predefined builder setter with no javadoc, and the builder setter does not get this one.
	 * @param tag remains on the field.
	 * @return tag remains on the field.
	 */
	private final int predef;

	/**
	 * predefWithJavadoc has a predefined builder setter with javadoc, so it keeps that one untouched.
	 * @param tag is removed from the field.
	 * @return tag remains on the field.
	 */
	private final int predefWithJavadoc;

	private List<T> also;

	/**
	 * But this one doesn't.
	 */
	private int $butNotMe;

	public static class BuilderJavadocBuilder<T> {
		public BuilderJavadocBuilder<T> predef(final int x) {
			this.predef = x * 10;
			return this;
		}

		/**
		 * This javadoc remains untouched.
		 * @param x 1/100 of the thing
		 * @return the updated builder
		 */
		public BuilderJavadocBuilder<T> predefWithJavadoc(final int x) {
			this.predefWithJavadoc = x * 100;
			return this;
		}
    }

}