188 Commits

Author SHA1 Message Date
Phillip Webb
f380ba63eb Exclude Groovy MetaClass from property meta-data
Update `TypeExcludeFilter` to exclude `groovy.lang.MetaClass`.

Closes gh-16981
2019-05-28 16:42:42 -07:00
Phillip Webb
2dfd916c96 Polish 2019-04-15 17:51:08 -07:00
Stephane Nicoll
0972ef3422 Merge branch '2.1.x'
Closes gh-16451
2019-04-04 16:00:34 +02:00
Stephane Nicoll
fbb5ffe0a4 Avoid infinite cycle resolving generic type that refers itself
This commit improves type resolution for a unresolved generic type that
uses itself in its upper bound declaration.

Closes gh-16451
2019-04-04 15:55:55 +02:00
Stephane Nicoll
3125f424ce Add metadata support for immutable ConfigurationProperties type
Closes gh-16071
2019-03-22 15:33:35 +01:00
Andy Wilkinson
36c1c051b8 Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
Andy Wilkinson
e23f72c8b0 Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
Andy Wilkinson
9fbd38ab3c Merge branch '1.5.x' into 2.0.x 2019-03-20 16:45:26 +00:00
Stephane Nicoll
75c248dcba Move setter attribute in PropertyDescriptor proper 2019-03-04 10:53:13 +01:00
Stephane Nicoll
00a18c32ab Restructure metadata generation
This commit restructures the annotation processor to off-load most of
its logic in a PropertyDescriptor abstraction that is consumed to
generate the relevant metadata.

This has the benefit to isolate the various way properties can be
identified (java bean and lombok for now).

Closes gh-16036
2019-02-26 10:10:33 +01:00
Stephane Nicoll
c44a1e129d Polish 2019-02-22 14:04:37 +01:00
Stephane Nicoll
34f28b4cbd Merge branch '2.1.x' 2019-02-20 13:25:01 +01:00
Stephane Nicoll
91a005f578 Resolve generic types in generated metadata
Closes gh-15850
2019-02-20 13:24:40 +01:00
dreis2211
46e59503ec Use JSONObject.putOpt in JsonConverter
Closes gh-15595
2019-01-02 09:48:35 +01:00
igor-suhorukov
cbf6b330ba Simplify code by using Map computeIfAbsent
Closes gh-15543
2018-12-21 11:12:56 +01:00
Phillip Webb
f3fa20b2d1 Polish 2018-10-29 14:25:45 -07:00
Madhura Bhave
f0004c4ade Merge branch '2.0.x' 2018-10-22 14:57:10 -07:00
dreis2211
5c0d7f4ac0 Avoid creation of unnecessary collections
Closes gh-14916
2018-10-22 14:54:39 -07:00
durigon
7aaeefbc0e Use Matcher from pre-compiled Pattern rather than String for replaceAll
Closes gh-14483
2018-09-17 10:54:54 +01:00
Stephane Nicoll
0493355241 Use deterministic order for configuration properties metadata
This commit updates the annotation processor to write metadata in a
consistent way. Groups, properties and hints are written and each item
is ordered alphabetically based on its name.

Also, deprecated items are written last.

Closes gh-14347
2018-09-08 08:20:43 +02:00
Stephane Nicoll
c0e45b7333 Adapt to Spring Framework API change 2018-09-04 14:09:57 +02:00
Stephane Nicoll
91af9e2ca9 Merge branch '2.0.x' 2018-08-20 10:34:03 +02:00
Stephane Nicoll
d80ed27339 Fix checkstyle violation 2018-08-20 10:33:46 +02:00
Stephane Nicoll
b26dedb547 Merge branch '2.0.x' 2018-08-20 10:26:21 +02:00
dreis2211
0bc66dc4a9 Replace loops with Arrays.setAll where possible
See gh-14125
2018-08-20 10:16:50 +02:00
dreis2211
a601bc863b Remove unused method in TypeUtils
Closes gh-14130
2018-08-19 15:39:39 +02:00
Stephane Nicoll
94013aaba6 Add support for DataSize
This commit adds support for Spring Framework's `DataSize` allowing to
express a size in bytes and other convenient units.

Similar to the `Duration` support introduced previously, this commit
adds transparent binding support as well as detection of default values
in `@ConfigurationProperties`-annotated object.

Closes gh-13974
2018-08-13 16:43:23 +03:00
Johnny Lim
05a7d21305 Polish ItemMetadata.buildName()
Closes gh-14024
2018-08-09 09:47:02 +02:00
dreis2211
66b1742f96 Optimize some StringBuilder.append() calls
Closes gh-13961
2018-08-01 08:41:03 +02:00
Phillip Webb
aeb885192e Polish ternary expressions 2018-07-29 09:24:46 +01:00
Phillip Webb
63b609827e Fix checkstyle method order issues
Fix checkstyle issues with method ordering following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:53 +01:00
Phillip Webb
e6a68b39a3 Fix checkstyle javadoc issues
Fix checkstyle issues in javadoc following the spring-javaformat
upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Phillip Webb
7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Stephane Nicoll
ffe994335e Merge branch '1.5.x' into 2.0.x 2018-07-16 14:12:16 +02:00
Stephane Nicoll
174cc2bc4e Merge branch '1.5.x' into 2.0.x 2018-07-13 09:25:42 +02:00
Stephane Nicoll
9e9e746554 Merge branch '1.5.x' into 2.0.x 2018-06-21 09:17:05 +02:00
Johnny Lim
f34fb5f1ee Reduce object creation in findMatchingItemMetadata()
Closes gh-13473
2018-06-15 13:36:55 +02:00
Phillip Webb
6d8b4710d7 Merge branch '1.5.x' into 2.0.x 2018-05-21 17:18:49 -07:00
Stephane Nicoll
7b7e802129 Merge branch '1.5.x' into 2.0.x 2018-05-16 13:16:54 +02:00
Phillip Webb
5b3cb8a698 Update copyright header year for changed files 2018-05-04 15:59:26 -07:00
Phillip Webb
6e09e497f2 Formatting 2018-05-04 12:06:19 -07:00
Phillip Webb
41efea51a7 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
2018-05-03 22:43:12 -07:00
Phillip Webb
e125085993 Merge branch '1.5.x' into 2.0.x 2018-05-03 12:43:50 -07:00
Stephane Nicoll
79c222da78 Allow to provide manual metadata for keys that are not unique
Closes gh-12193
2018-05-02 16:04:02 +02:00
Stephane Nicoll
782d8c63da Merge branch '1.5.x' into 2.0.x 2018-05-02 15:59:56 +02:00
Phillip Webb
685babc829 Polish "Use lambdas for map entry iteration where possible"
Closes gh-12626
2018-04-04 19:36:18 -07:00
igor-suhorukov
69bc19e0ca Use lambdas for map entry iteration where possible
See gh-12626
2018-04-04 19:36:10 -07:00
Madhura Bhave
8b29823885 Prevent StackOverFlowException in metadata processor
Fixes gh-11037
2018-03-28 07:58:13 -07:00
Stephane Nicoll
7d1faa1c88 Ignore static and abstract accessors
This commit updates the annotation processor and the binder to ignore
any static or abstract method that has the characteristics of a JavaBean
accessor. As a result, no property is generated for those (invalid)
accessor and no binding occurs on them either.

Closes gh-12390
2018-03-07 17:55:12 +01:00
igor-suhorukov
56cbc65e7b Polish
See gh-12236
2018-02-28 08:58:46 +01:00