* Adds Error Prone to the `pom.xml`
* Adds Error Prone annotations to avoid compiling errors
* Adds profile to run Error Prone in JDK8
* Revert "Adds profile to run Error Prone in JDK8"
This reverts commit 61771d0da55003ea5bc8c6f086d925aec583c9a2.
* Fix Error Prone warn
* Add comment to `pom.xml`
* Fix the `@SuppressWarnings("GetClassOnClass")`
* Replace the Error Prone link in the `pom.xml`
* Disable Error Prone with jdk-15`
* Remove a new-line in `pom.xml`
Created some serialization specific tests regarding custom serializers. Revised some tests to use toJsonTree for better asserts instead of string matching.
Added support for serializing an object field (or array elements) as per its actual type.
Refactored inheritance related tests into its own test class. Added regression tests for issue 156.
This restructuring greatly cleans up the code and reduces some complexity; however, there is more that can be done to clean this up (i.e. get rid of "InstanceCreators" for primitive Type Adapters).
During deserialization, we do not call custom deserializer if the field is to be set to null. Moreover, changed the logic to set fields to null only if explicitly indicated in the incoming Json. This is different from past behavior where all fields not mentioned in incoming Json were set to null. Now they are set to whatever the default constructor will do.