ConfigurationSqlDao getValue type switch #498
Open
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.
Overview
Method getValue previously ran an if-else chain over all the Types that are currently supported and then returned the string value parsed cast to the type. This was changed to a switch statement.
Details
Due to Java limitations, a switch statement cannot be run directly over a Class<?> object. Another option that failed was using reflection to create an instance and use Pattern Matching, but the types supported had inconsistent Constructor signatures (where a Constructor with the same arguments was not shared between all types).
Such being the case, I turned to a switch statement over the Class's name, which should provide the same readability improvement while keeping the same functionality.
Testing
Tested manually with the Debugger's "Evaluate Expression" tool, using the same expressions/values as other usages within the application, as well as initializing the server (which utilizes this method).
Additional Notes
This PR was made due to a code quality observation I made and is not linked to any issues for the moment (since I'm waiting on clarification/approvals on other issues).