Joel Leitch
641390b1a1
Lazily initialize fields in FieldAttributes to prevent multiple Java reflection invocations.
2009-12-03 22:17:39 +00:00
Inderjeet Singh
610580b8d9
exposed final fields of Pair for fast access. Pair is used quite a bit during serialization because of its use in ref stack.
2009-12-03 20:58:22 +00:00
Inderjeet Singh
fff9147988
Added some tests to measure serialization and deserialization performance of Gson based on the discussion in http://groups.google.com/group/google-gson/browse_thread/thread/7a50b17a390dfaeb
...
Surprising just marking a field as exposed halves the performance.
2009-10-20 00:04:34 +00:00
Joel Leitch
015d2016c5
Last JavaDoc Update missed adding the new files.
2009-10-09 23:55:54 +00:00
Joel Leitch
be2631e835
Updating JavaDocs
2009-10-09 23:49:13 +00:00
Joel Leitch
102f8b3a71
Adding a few more assert to the InstanceCreatorTest to ensure that the default values are set for sub class fields.
2009-10-09 21:23:51 +00:00
Joel Leitch
d87d3f807f
Added functional tests for user defined exclusion strategy.
...
Added test to ensure empty/null properties are added for the JsonObject.
2009-10-09 21:12:07 +00:00
Inderjeet Singh
bc1e5c5c99
Ensured that custom deserializer is invoked with actual type returned for field values.
...
Fixed a bug where a top-level object was constructed with default values even when the custom deserializer tried to set it to null.
2009-10-09 19:41:33 +00:00
Inderjeet Singh
338758a0d3
implemented support for deserialization to deserialize to more specific type if an instance creator returns a sub-class.
2009-10-09 18:16:16 +00:00
Joel Leitch
fffb204cee
Removed import for java.util.Map.Entry.
2009-10-09 18:10:43 +00:00
Joel Leitch
de6af4411b
Minor fixes.
2009-10-09 15:43:50 +00:00
Inderjeet Singh
60ef777efc
Fixed custom serilization invocation to correctly handle nulls returned by custom serializer.
2009-10-09 15:28:05 +00:00
Joel Leitch
6387c9028e
Updated JavaDoc formatting
2009-10-09 15:26:34 +00:00
Joel Leitch
81e6ae25f1
Make FieldAttributes public so it can be used by public clients.
2009-10-09 03:11:16 +00:00
Joel Leitch
282ef30280
Updating JavaDoc tag to @code instead of @link.
2009-10-09 03:03:04 +00:00
Inderjeet Singh
e37add7836
Implemented some code review comments from r482
2009-10-09 01:35:45 +00:00
Joel Leitch
6d60a7db1d
Fixed comments from r486.
2009-10-09 00:36:22 +00:00
Inderjeet Singh
2bddd575b3
Code review changes from r476
2009-10-08 23:23:52 +00:00
Joel Leitch
93b0008486
Adding restrictions on the JsonElements to disallow Java "null"s.
2009-10-08 22:03:08 +00:00
Joel Leitch
10c39317a1
Makes ExclusionStrategy public.
2009-10-08 21:52:56 +00:00
Joel Leitch
dc5922e703
Addresses comments in r481 (except for the interface change....leaving FieldAttributes as a class).
...
Change the exclusion order in ObjectNavigator to exclude a top-level class (if exclusion strategy suggests class should be skipped) even if it is marked with a custom (de)serializer.
2009-10-08 20:51:40 +00:00
Inderjeet Singh
e9c156b016
Added inheritance tests using toJson() method as well.
2009-10-08 19:32:15 +00:00
Inderjeet Singh
b634804533
Ensured that a base class custom serializer is run when the type is specified explicitly during serialization. For all other situations, ensured that the actual type of the object is taken into consideration while serializing. First a custom handler corresponding to the actual type is looked up, then a custom handler for the specified type.
...
Created some serialization specific tests regarding custom serializers. Revised some tests to use toJsonTree for better asserts instead of string matching.
2009-10-08 19:28:53 +00:00
Joel Leitch
839b0c2f94
Refactored exclusion strategies so that they can easily be exposed as part of the public API.
2009-10-07 09:23:14 +00:00
Joel Leitch
c892738fbb
Re-enabling the ' (apostrophe) escaping with valid JSON escaping.
2009-10-07 03:48:29 +00:00
Inderjeet Singh
536a968b32
Disabled escaping of single quote since it is valid for JSON (though invalid for JavaScript).
...
Added null checks in contexts since the custom type adapter can pass nulls.
2009-10-06 17:10:52 +00:00
Inderjeet Singh
d416361ac5
Added a test to ensure Gson can use JSON fields to store type information.
2009-10-06 04:25:28 +00:00
Inderjeet Singh
ae85e6cce6
A test to ensure that null values override default values when nulls are present in input Json during deserialization.
2009-10-06 01:55:44 +00:00
Inderjeet Singh
1da3ef9891
Ensured that a custom handler is not visited during deserialization.
...
Ensured that JsonTreeNavigator can handle null values as children of JsonObject. This is now possible since Gson exposes toJson(JsonElement) method to which the user can pass a JsonElement with null values.
2009-10-06 01:15:28 +00:00
Inderjeet Singh
ff74224815
Revised equals and hashcode of ObjectTypePair to ensure reference equality of object instead of value equality. Improved JavaDocs for various 1.4 API methods.
2009-10-05 18:17:52 +00:00
Inderjeet Singh
2716d96516
Revised ancestor stack to use both object and type
2009-10-03 04:45:12 +00:00
Joel Leitch
fbf834c3f6
Implemented suggests from r469 code review.
2009-10-02 20:33:37 +00:00
Joel Leitch
b28864eaa0
Remove unused import.
2009-10-02 20:22:43 +00:00
Joel Leitch
25ea878f66
Add some synchronization to the JsonStreamParser to ensure that the "next" method behaves according to the API.
2009-10-02 20:21:19 +00:00
Joel Leitch
912db55ba6
Added test for hasNext on JsonStreamParser.
2009-10-02 19:39:09 +00:00
Joel Leitch
0c2106f2ff
Adding test for new field naming policies from r456 code review.
2009-10-02 19:12:15 +00:00
Inderjeet Singh
40ca8b0537
Added copyright header per code review suggestion from r424
2009-10-02 18:46:56 +00:00
Inderjeet Singh
1dcdd3fb3f
Implemented suggestions from code review r432 by adding a JsonNull for primitives if the value is null.
2009-10-01 22:15:53 +00:00
Inderjeet Singh
c64b79c0f9
Implemented suggestions from the code review of r436: throwing NoSuchElementException in case the stream hits EOF.
2009-10-01 18:34:11 +00:00
Inderjeet Singh
3b1056c097
Renamed JsonParserAsync to JsonStreamParser as that is a more appropriate name.
...
Added a TODO in JsonSerializationVisitor per code review of r453.
2009-10-01 17:46:28 +00:00
Inderjeet Singh
8567fe6c10
Implementing code review comment from r428: Using Polymorphism for exclusion strategies for expose annotations.
2009-10-01 01:37:57 +00:00
Inderjeet Singh
77c2c29316
Implementing code review feedback from r454: using isFirst instead of the Stack to keep track of whether to add commas or not.
2009-10-01 00:57:55 +00:00
Inderjeet Singh
fbefa59b66
changed synchronization on Date type adapter to be for the format object per code review comments on r452
2009-09-30 23:11:30 +00:00
Inderjeet Singh
907082102d
Added code to ensure that circular reference situations with custom handlers are detected.
...
Split CircularReferenceTest out of ObjectTest.
2009-09-29 20:43:31 +00:00
Joel Leitch
933a3e5150
Allow serialization of nulls in a "List<Object>" type.
2009-09-29 20:34:35 +00:00
Joel Leitch
e5ed1cc59a
Added some more tests.
2009-09-29 20:24:48 +00:00
Joel Leitch
e73ad007a4
Added test that serialize interfaces.
2009-09-29 19:03:49 +00:00
Joel Leitch
563cd1e8e3
Adding the "since" tag.
2009-09-29 18:52:32 +00:00
Joel Leitch
ad4ff6996b
Adding new default field naming policy
2009-09-29 18:44:56 +00:00
Joel Leitch
553a619ebd
Allow dashes as part of the field name.
2009-09-29 18:40:08 +00:00