Refactor XMLConfiguration to use Builder Pattern #543
Merged
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.
Fixes #541
What problem does this code solve?
Refactors the XML Configuration to use a builder pattern instead of public constructors with many parameters. This makes viewing the configuration easier to read and maintain.
Risks
The fields on the configuration have changed visibility from public to private and are now accessible via public getters. This means that a new release will not be a drop-in replacement and consumers of this library will need to correct code that is directly referencing those fields. This should hopefully be minimal impact as the fields were readonly (i.e. hopefully no one was actually using them).
Changes to the API?
Yes, public fields were marked private and constructors were deprecated. New methods were put in place for managing the XML Configuration.
Will this require a new release?
Yes
Should the documentation be updated?
I don't believe we have any documentation outside of the Java-docs referencing this API.
Does it break the unit tests?
No, but unit tests were updated to use the new API.
Was any code refactored in this commit?
Yes, as mentioned above.
Review status
APPROVED