Implemented a PropertyNameConverter which allows a custom mapping between java field names and YAML property names to be configured #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sometimes there is a difference between property names as they appear in YAML, and how the Java fields are named. This commit resolves that by introducing the concept of a
PropertyNameConverter
which allows the transformation between a Field and the YAML property to be defined.The
PropertyNameConverter
can be defined usingYamlConfig.setPropertyNameConverter()
There is a default implementation
DefaultPropertyNameConverter
which retains the existing functionality if nothing has been configured.One notable difference is within
YamlConfig.setPropertyElementType
andsetPropertyDefaultType
. Here thepropertyName
parameter should be the YAML version of the name (the result of the conversion), not the field name.Below is a short example which demonstrates mapping YAML properties containing spaces, onto camel case field names. eg.
full name
becomesfullName
.Output: