Commit 38d36ab1 authored by Madhura Bhave's avatar Madhura Bhave

Document how to add metadata for collection and enum default values

Closes gh-12874
parent 56c2a52e
......@@ -814,6 +814,51 @@ special handling for collection types (that is detected even if only a getter is
The annotation processor also supports the use of the `@Data`, `@Getter`, and `@Setter`
lombok annotations.
The annotation processor cannot auto-detect default values for ``Enum``s and ``Collections``s.
In the cases where a `Collection` or `Enum` property has a non-empty default value,
<<configuration-metadata-additional-metadata,manual metadata>> should be provided.
Consider the following class:
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
@ConfigurationProperties(prefix="rabbit")
public class RabbitProperties {
private List<String> addresses = new ArrayList<>(Arrays.asList("a", "b")) ;
private ContainerType = ContainerType.SIMPLE;
// ... getter and setters
public enum ContainerType {
SIMPLE,
DIRECT
}
}
----
In order to document default values for properties in the class above, you could add the following
JSON to <<configuration-metadata-additional-metadata,the manual metadata of the module>>:
[source,json,indent=0]
----
{
"name": "rabbit.addresses",
"defaultValue": "a, b"
},
{
"name": "rabbit.container-type",
"defaultValue": "simple"
}
----
[NOTE]
====
If you are using AspectJ in your project, you need to make sure that the annotation
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment