Commit Graph

2043 Commits

Author SHA1 Message Date
Joel Leitch 09720f28cf Incorporated changes from r307 code review 2008-12-18 20:21:05 +00:00
Joel Leitch a18a751240 Share the same JsonNull instance with the Gson code. 2008-12-18 20:14:29 +00:00
Joel Leitch 17256b8ce5 Added tests for JsonPrimitive object creation with a char type.
Suggestion from r321 code review.
2008-12-18 20:06:20 +00:00
Inderjeet Singh cbc6b4d939 Added checks to ensure that we do not serialize NaN or postiive or negative infinity for doubles. 2008-12-18 20:00:27 +00:00
Joel Leitch 0993d729e4 Added @since to the JavaDoc for the new methods added to JsonElement.
Suggested in the r296 code review.
2008-12-18 19:25:22 +00:00
Inderjeet Singh de713614af incorporated feedback from code review of r295 2008-12-18 18:59:30 +00:00
Joel Leitch fc65667d2f Add support for wildcard type on Maps, Collections and other parameterized types. 2008-12-14 07:12:04 +00:00
Joel Leitch 8e1c6a2b37 Ensure that BigDecimals fields are properly converted into its string representation. 2008-12-14 05:56:41 +00:00
Joel Leitch ea79cd6812 Allow booleans and number to be deserialized into a "String" field/object. 2008-12-14 04:42:16 +00:00
Joel Leitch 0b5f3dc825 Added UUID as a default type supported by Gson. 2008-12-13 20:42:31 +00:00
Joel Leitch d16553701b Performing automatic refactoring using the IDE tools which does not take resources into consideration. This fixes the JavaCC Parser definition.
Goes with r325.
2008-12-02 23:48:10 +00:00
Joel Leitch 11a29b63b0 Implemented suggested changes from r324 code review. 2008-12-02 23:41:04 +00:00
Joel Leitch b9e81f93c1 Fixed warnings and updated some JavaDoc. 2008-12-01 01:40:11 +00:00
Joel Leitch 50dd475eb8 Added more tests involving Since and Until versioning. 2008-12-01 00:23:35 +00:00
Joel Leitch 6f59bc3bfe Added "Until" type version. This new annotation allows you to remove members from the JSON output beginning at a certain version number.
This new annotation work in conjunction with the "@Since" annotation.
2008-12-01 00:10:04 +00:00
Joel Leitch 5ae7e1f803 Adding new convenience method to JsonObject for adding Booleans and Characters. 2008-11-30 23:36:29 +00:00
Joel Leitch b90228dcc0 Enable serialization of nulls within Maps. 2008-11-30 23:01:14 +00:00
Joel Leitch a82c400dc8 Fix warnings. 2008-11-30 00:47:07 +00:00
Joel Leitch c9e48097ec Do not overwrite a duplicate field value during seriailzation if one those fields is null. 2008-11-27 00:50:50 +00:00
Joel Leitch b506183d94 Move isPrimitiveOrString() method from ObjectNavigator to JsonPrimitive. 2008-11-27 00:40:31 +00:00
Joel Leitch d6d1daeedd Submitting @Expose tests with interfaces. 2008-11-26 21:46:55 +00:00
Inderjeet Singh 9bcbb4cfdc Fixed issue 52 by switching Gson.toJson methods to use Appendable instead of java.io.Writer 2008-11-26 19:13:14 +00:00
Inderjeet Singh 59be02d4de Added support for accepting Object field names without quotes. Issue 41. 2008-11-26 17:52:46 +00:00
Inderjeet Singh 7334a33d14 Test to verify support for object member names without quotes (see Issue 41). 2008-11-26 17:49:35 +00:00
Joel Leitch 2effd57976 Deserialization will no longer call the default constructor or InstanceCreator if the object being deserialized has a custom deserializer. 2008-11-25 18:42:47 +00:00
Inderjeet Singh 1e7f3ebe7a tests to verify correct serialization and deserialization of = char. 2008-11-25 17:53:12 +00:00
Joel Leitch 0c98c2f8d1 More lenient parsing of Numbers and Booleans. Basically, can deserialize properly formatted stringr representations of numbers and booleans. 2008-11-20 19:40:12 +00:00
Joel Leitch a209be02eb Revert previous pom.xml change. Submitted by mistake. 2008-11-20 01:08:35 +00:00
Joel Leitch 2250afe825 Allow serialization of Object in collections. This used to be supported before restructuring the Collection type handling. 2008-11-20 01:06:21 +00:00
Joel Leitch 3df2d44e40 Adding a "remove" method to the JsonObject class. Created a unit test to ensure it is functioning properly. 2008-11-19 01:22:21 +00:00
Joel Leitch d5319d9e84 Parse all JSON numbers as either BigDecimal or BigInteger. From there we can properly convert into the proper primitive type if need be. This reduces the chance of losing precision with floating point numbers. 2008-11-18 20:26:15 +00:00
Joel Leitch 628a2c5b86 Added default serializer/deserializer for "Number" 2008-11-18 20:05:02 +00:00
Joel Leitch 788d2bfbbb Fix parsing of double and big decimals that have an exponent but no fraction part. 2008-11-18 19:55:14 +00:00
Joel Leitch e101ed1623 Adding the JavaDoc for Google Gson version 1.2.3 2008-11-15 17:38:06 +00:00
Joel Leitch b6f767bf05 Fix warning in code 2008-11-15 05:13:05 +00:00
Joel Leitch cf2a457af7 Removed the TypeAdapter object from GSON now that the primitive objects and fields are created by a custom Type Adapter. 2008-11-15 05:11:28 +00:00
Joel Leitch 0d8150fe52 Major restructuring of Primitve type serialization and deserializtion. From the end-user's point of view there should be no difference other than the user can now override the default serialization/deserialization their own custom type adapter (not sure if there is a real use-case out there for this).
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).
2008-11-15 02:26:57 +00:00
Inderjeet Singh 7e360b95e7 Added tests to verify that custom serializer and deserializers for byte[] types works. 2008-11-14 23:55:57 +00:00
Inderjeet Singh 3ff6bda2ad Added equals and hashcode to JsonNull to ensure all instances of this class are the same. 2008-11-14 22:33:39 +00:00
Inderjeet Singh ad1c1a731d Added more tests in response to Issue 70. 2008-11-14 22:11:12 +00:00
Inderjeet Singh dfad0a3612 Added tests in response to Issue 70. 2008-11-14 21:59:59 +00:00
Inderjeet Singh 9a69560d9f During serialization, we now dont call custom serializers the field is null.
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.
2008-11-14 20:52:57 +00:00
Inderjeet Singh e4ea6b1fd0 removed unused code. 2008-11-14 02:43:32 +00:00
Inderjeet Singh 6fa09b5ef6 Removed specialized handling of Enum types with the EnumTypeAdapter 2008-11-14 02:37:59 +00:00
Inderjeet Singh 40b77dfa6b removed unused endVisitingObject method. 2008-11-14 02:32:48 +00:00
Inderjeet Singh bcd1baefd5 deleted unused visitCollectionField method in the visitor. All of this functionality has now been replaced with the default CollectionTypeAdapter 2008-11-14 02:30:28 +00:00
Inderjeet Singh 0b6bbaf5f1 deleted unused visitCollection method in the visitor. All of this functionality has now been replaced with the default CollectionTypeAdapter 2008-11-14 02:25:41 +00:00
Inderjeet Singh bc2c25f235 Removed ExceptionWrapper from serializers.
This is done since it is improper to throw a parse exception from serializers. Moreover, the serializers dont deal with external input, they deal with classes, so they need not guard against spurious input.
2008-11-14 02:17:19 +00:00
Inderjeet Singh 9245bebdba For the Collection and Map types, using ObjectConstructor to create instance instead of hard-coding a specific type.
This helps is handling cases where the user is using their own subclass of Collection or Map.

Updated ParameterizedTypeHandlerMap to return the handler corresponding to Map and Collection for subclasses if user has not specified a specific handler.

Fixed the logic in JsonTreeNavigator to not output a comma if the first field of an object was null.
2008-11-14 02:11:46 +00:00
Inderjeet Singh eaa43b76e4 Added a custom type adapter for Collection class. We will migrate the code to use it instead of special cases for collections all over. This type adapter is called at a few places already.
Also added tests for verifying that Gson can handle serialization and deserialization of sub types of Maps. The deserialization test fails currently.
2008-11-13 23:40:10 +00:00