Jordan Zimmerman
091e9493b6
Support Java Validation API
...
Option to pass created records through the Java Validation API if it's
available in the classpath. IMPORTANT: when enabled, the record-builder-validator
module must also be included. record-builder-validator is written totally
via reflection so if no validation framework is included it's a NOP.
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
a0c03e88cc
Add support for NotNull-style annotations
...
When enabled, annotations matching the configured regex for NotNull
annotations cause `Object.requireNonNull()` to be added for annotated
components.
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
d9d98e765e
Set optional fields to empty by default ( #38 )
...
Sets `Optional` fields to `empty()` by default. Adds an option
to control this.
Closes #34
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
5320c8dfa4
Support copying component annotations to builder ( #33 )
...
- Enabled via new option `inheritComponentAnnotations` (true by default)
- Canonical constructor parameter annotations are copied to RecordBuilder setters and the static builder
- Record component accessor annotations are copied to RecordBuilder getters
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
5d7bea565f
Rework how options are specified ( #37 )
...
- Remove `RecordBuilderMetaData`
- Unify how the javac options are handled
- Create `RecordBuilder.Options` to specify options
- Allow creation of custom annotations that bundle options
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
feecc29eea
[maven-release-plugin] prepare for next development iteration
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
428d3c0378
[maven-release-plugin] prepare release record-builder-1.19
2021-10-07 08:35:17 +01:00
Jordan Zimmerman
2beafc4803
[maven-release-plugin] rollback the release of record-builder-1.19
2021-03-16 09:49:45 -05:00
Jordan Zimmerman
82b3925618
[maven-release-plugin] prepare release record-builder-1.19
2021-03-16 09:49:32 -05:00
Jordan Zimmerman
ba90e6cdca
[maven-release-plugin] prepare for next development iteration
2021-02-04 06:35:37 -05:00
Jordan Zimmerman
07e52035ee
[maven-release-plugin] prepare release record-builder-1.18
2021-02-04 06:35:29 -05:00
Jordan Zimmerman
677813e875
[maven-release-plugin] prepare for next development iteration
2021-02-04 06:31:51 -05:00
Jordan Zimmerman
7d877963fb
[maven-release-plugin] prepare release record-builder-1.18-java15
2021-02-04 06:31:51 -05:00
Jordan Zimmerman
04e9135591
[maven-release-plugin] prepare for next development iteration
2021-02-01 13:06:44 -05:00
Jordan Zimmerman
b512a6e968
[maven-release-plugin] prepare release record-builder-1.17
2021-02-01 13:06:44 -05:00
Jordan Zimmerman
5a1cd35320
[maven-release-plugin] rollback the release of record-builder-1.17
2021-02-01 13:06:44 -05:00
Jordan Zimmerman
a615e3abb6
[maven-release-plugin] prepare release record-builder-1.17
2021-02-01 13:06:44 -05:00
Jordan Zimmerman
3f8bb47cbf
Support alternate artifacts built with Java 15
2021-02-01 13:00:42 -05:00
Jordan Zimmerman
5a8e72f0e9
[maven-release-plugin] prepare for next development iteration
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
44ad4531b6
[maven-release-plugin] prepare release record-builder-1.16
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
7e78d32780
Added support for putting @RecordInterface on Java beans
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
0dc4aa7657
Prep for Java 16
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
b21368f32f
Have the consumer version of with() use the other with() to get the builder. This will ensure better testing and is more logical
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
a1206fa57f
[maven-release-plugin] prepare for next development iteration
2021-02-01 12:26:07 -05:00
Jordan Zimmerman
b89722ebfe
[maven-release-plugin] prepare release record-builder-1.14.ea
2021-02-01 12:26:07 -05:00
Mikaël Barbero
9c8e3626ba
Stop relying on toString() to detect package name.
...
Fix for #15
2020-12-11 18:18:32 +00:00
Jordan Zimmerman
24b85e7ad5
[maven-release-plugin] prepare for next development iteration
2020-11-29 08:27:34 -05:00
Jordan Zimmerman
861e2e745a
[maven-release-plugin] prepare release record-builder-1.13.ea
2020-11-29 08:27:25 -05:00
Jordan Zimmerman
1fc7c9a4b3
Make sure the downcast variable name doesn't collide with a record component name
2020-11-28 22:39:00 -05:00
Jordan Zimmerman
570514e077
buildPackageName() can't assume that the immediate enclosing element is the package. It may be a nested class, etc.
2020-11-28 22:38:48 -05:00
Jordan Zimmerman
9d8b9e65bc
[maven-release-plugin] prepare for next development iteration
2020-11-28 08:44:33 -05:00
Jordan Zimmerman
93d6204b76
[maven-release-plugin] prepare release record-builder-1.12.ea
2020-11-28 08:44:25 -05:00
Jordan Zimmerman
15e5bfccc6
[maven-release-plugin] rollback the release of record-builder-1.12.ea
2020-11-28 08:42:15 -05:00
Jordan Zimmerman
67c54244c5
[maven-release-plugin] prepare release record-builder-1.12.ea
2020-11-28 08:41:59 -05:00
Jordan Zimmerman
870ac4a9d9
[maven-release-plugin] rollback the release of record-builder-1.12.ea
2020-11-28 08:29:46 -05:00
Jordan Zimmerman
9ee8b5912a
[maven-release-plugin] prepare for next development iteration
2020-11-28 08:28:09 -05:00
Jordan Zimmerman
6d9bcf27da
[maven-release-plugin] prepare release record-builder-1.12.ea
2020-11-28 08:27:49 -05:00
Jordan Zimmerman
44db5fdf17
Change to 1.12.ea-SNAPSHOT - last release must have missed this
2020-11-28 08:25:10 -05:00
Jordan Zimmerman
90a65235a9
Add support for static constructor
...
Add a static constructor/builder so it can statically imported. Instead of
calling "new Record(...)" you can call just "Record(...)".
2020-11-28 07:35:34 -05:00
Ted Cassirer
7e8ddbd700
Remove unused variable in RecordBuilder
2020-11-25 09:33:08 -05:00
Ted Cassirer
3a534fbea9
Don't add the allArgsConstructor to the RecordBuilder if record has no fields
2020-11-25 08:53:06 -05:00
Jordan Zimmerman
e0243c8b1c
Fixed some typos in previous PR
2020-11-04 10:44:43 -05:00
Jordan Zimmerman
437e314799
Better exception when Wither is set as implementor on non-builder class
2020-11-04 10:36:35 -05:00
Jordan Zimmerman
5b879743ef
Added simple module-info. I've never done this before, I hope it's right
2020-11-02 23:37:57 -05:00
Jordan Zimmerman
c7bdafb0b9
Add method to do downcasting
2020-11-02 23:37:57 -05:00
Jordan Zimmerman
54662d69c7
Support Include versions of the annotation
2020-10-05 14:45:34 -05:00
Jordan Zimmerman
610081b27e
[maven-release-plugin] prepare for next development iteration
2020-10-05 11:22:40 -05:00
Jordan Zimmerman
1eb91d612e
[maven-release-plugin] prepare release record-builder-1.10.ea
2020-10-05 11:22:31 -05:00
Jordan Zimmerman
7c84f26972
Generated record from interface should implement the wither
2020-10-05 11:20:43 -05:00
Jordan Zimmerman
c92bf78ec5
[maven-release-plugin] prepare for next development iteration
2020-10-04 14:48:03 -05:00