Commit Graph

848 Commits

Author SHA1 Message Date
Jesse Wilson
9be0fd9ecc Make the BigDecimal and BigInteger type adapters user-overrideable. 2012-03-18 17:55:15 +00:00
Inderjeet Singh
5e3f5a6bbe Ensuring that the hash is unpredictable and well distributed.
We achieve this by using the same algorithm as the Perl version, but this implementation
is being written from scratch for license compliance.
2012-03-15 22:27:55 +00:00
Inderjeet Singh
14ebcc4ead fixed eclipse warnings 2012-03-11 21:43:38 +00:00
Inderjeet Singh
15c2ae7548 Updated map subclass deserialization test to illustrate a failing condition.
Gson currently uses LinkedHashMap for an instance if a Map subclass does not define a default constructor.
2012-03-11 21:37:13 +00:00
Jesse Wilson
4c629347da Only support string keys in string map. This rev passed all 655 applicable map tests in the Guava collections test suite. 2012-03-11 17:34:46 +00:00
Jesse Wilson
751c69c655 Support null values in StringMap 2012-03-11 15:19:01 +00:00
Jesse Wilson
ad3489f557 First steps to StringMap, an alternative to LinkedHashmap. 2012-03-11 13:54:41 +00:00
Jesse Wilson
15e7819e9a Fix testStringEndingInSlash by fixing nextNonWhitespace to always return the character at buffer[pos-1]. 2012-02-16 22:49:53 +00:00
Jesse Wilson
2c8bec27d4 Permit multiple top-level values in JsonWriter in lenient mode. Also fix some cases where we don't throw the right thing on a closed JsonWriter.
I'd prefer to not support multiple top-level values, but we support it in JsonReader and it's easier to be consistent. Kevin Hayen's patch pointed me in the right direction here, but I needed to do more work to cover some of the edge cases.

Fixes issue 397.
2012-02-12 20:42:16 +00:00
Jesse Wilson
5c978948a0 Remove some dead code. 2012-02-11 20:16:21 +00:00
Jesse Wilson
f40ac23e88 Write a test recommended by missing code coverage on TypeAdapter 2012-02-11 20:16:05 +00:00
Jesse Wilson
7b75efd09e Write some tests prescribed by missing code coverage. I found a bug where our nonexecute prefix code causes a problem. 2012-02-11 20:15:39 +00:00
Jesse Wilson
dd86d63436 Use inner classes for BigDecimal and BigInteger type adapters 2012-02-11 20:14:23 +00:00
Jesse Wilson
a0afec71ff Test case to demonstrate no such crash as reported in issue 408. 2012-02-11 18:19:54 +00:00
Jesse Wilson
2e6b22fa2e Test that GraphAdapterBuilder works with multiple entity types. 2012-01-01 15:57:29 +00:00
Jesse Wilson
efde6674e1 Test that GraphAdapterBuilder works with collections. 2012-01-01 15:48:01 +00:00
Jesse Wilson
bb8dca71c4 Restore ability of instance creators to create collection and map types. We inadvertently lost this in Gson 2.0 and 2.1. Nobody noticed! 2012-01-01 15:46:33 +00:00
Jesse Wilson
6cca23c172 Get GraphAdapterBuilder working for serialization and deserialization using InstanceCreators to get a sneak peek at a value under construction. 2012-01-01 13:42:44 +00:00
Jesse Wilson
d4a1e49e46 Delete some obsolete TODOs 2012-01-01 12:42:48 +00:00
Jesse Wilson
796a381279 Kill GsonInternalAccess. Clients to this were all broken because nobody was ever assigning INSTANCE. 2012-01-01 12:42:20 +00:00
Jesse Wilson
323dfa0af5 Be strict in TypeAdapter's toJson/fromJson methods 2012-01-01 12:36:42 +00:00
Jesse Wilson
641590b5b6 Fill in some gaps in ExclusionStrategy's test.
Changes to GsonInternalAccess should have broken exclusion strategies, but didn't. Adding these tests cause the expected breaks.
2012-01-01 12:34:47 +00:00
Jesse Wilson
c4ea9a3d87 New Javadocs for Gson 2.1. 2011-12-31 20:53:38 +00:00
Jesse Wilson
caf64dbf55 Remove Javadocs without proper mime types set 2011-12-31 20:52:11 +00:00
Inderjeet Singh
6c78bf5247 made toJson/fromJson/toJsonTree methods public in TypeAdapter.
made Gson.getNextAdapter method public.
2011-12-31 08:52:59 +00:00
Inderjeet Singh
49525c8d64 Javadocs for Gson 2.1 2011-12-31 07:53:30 +00:00
Inderjeet Singh
73d973f1d7 [maven-release-plugin] prepare for next development iteration 2011-12-31 07:14:29 +00:00
Inderjeet Singh
2177850ba1 [maven-release-plugin] prepare release gson-2.1 2011-12-31 07:14:21 +00:00
Inderjeet Singh
498049b304 updated documentation for registerTypeHierarchyAdapter to cover TypeAdapter. 2011-12-31 06:00:28 +00:00
Inderjeet Singh
46d2d79ba7 Added javadocs for type adapter registration through registerTypeAdapter method. 2011-12-31 05:32:14 +00:00
Jesse Wilson
ecdf9150f6 Hide Gson.getNextAdapter() for the current release. 2011-12-31 05:30:40 +00:00
Jesse Wilson
4057b98bab Implement all but the most difficult part of graph type adapter's deserialization. The catch is we want to return an instance that we don't have yet. It's on the stack, but we don't have a handle to it because it's inside the 'nextTypeAdapter' who is busy populating its fields. 2011-12-30 08:27:24 +00:00
Jesse Wilson
6ec6caa49d New extension: handle circular references.
Serialize graphs of objects by assigning each instance a generated ID and writing the complete graph out as a list. The output for a cycle of Rock/Scissors/Paper looks like this:

{
  '0x1':{'name':'ROCK','beats':'0x2'},
  '0x2':{'name':'SCISSORS','beats':'0x3'},
  '0x3':{'name':'PAPER','beats':'0x1'}
}

This is work towards issue 137. The hard part is going to be deserializing that back into a graph.
2011-12-30 07:34:43 +00:00
Jesse Wilson
bcaf56079c Register runtime type adapters using the proper factory-specific APIs. 2011-12-30 06:55:56 +00:00
Jesse Wilson
4cb1b88115 Test for registerTypeHierarchyAdapter() using Date.class
Fixes issue 352.
2011-12-29 07:27:33 +00:00
Jesse Wilson
6d2cf4a853 Test for excludeFieldsWithModifiers().
Fixes issue 324.
2011-12-29 07:17:36 +00:00
Jesse Wilson
740d03ef0e Don't call setAccessible(true) on fields we won't be setting or getting.
Fixes bug 191.
2011-12-29 07:11:43 +00:00
Jesse Wilson
8d5de3136c Inline character unescaping. This saves ~10% on the READER_LONG benchmark. 2011-12-25 07:09:46 +00:00
Jesse Wilson
d7fbac0384 Rename TypeAdapter.Factory to TypeAdapterFactory. 2011-12-23 18:27:13 +00:00
Inderjeet Singh
2cd3f9707f Incorporated feedback from r1082 2011-12-23 16:11:12 +00:00
Inderjeet Singh
82f18a257f Implemented code review comments from r1090 2011-12-23 15:52:10 +00:00
Inderjeet Singh
bd937fe7b5 A type adapter for Class that throws an UnsupportedOperationException. 2011-12-22 22:31:43 +00:00
Inderjeet Singh
1c850dc3ea updated to Gson 2.1-SNAPSHOT 2011-12-22 21:22:42 +00:00
Jesse Wilson
13c1946621 More tests that skipValue() is no less strict. 2011-12-21 21:43:55 +00:00
Jesse Wilson
b28e518c7e Hide toJson/fromJson APIs for the 2.1 release. 2011-12-21 21:30:18 +00:00
Jesse Wilson
dd9ae67af5 Test that skipValue is strict on unquoted strings. 2011-12-21 20:40:33 +00:00
Inderjeet Singh
b5ae3c945a Incorporated code review from r949 2011-12-16 19:10:54 +00:00
Jesse Wilson
a3ca4e1312 Admit to a mistake in InetAddress' type adapter 2011-12-16 19:05:10 +00:00
Jesse Wilson
f24da51ca2 Fix dangling sentence. 2011-12-16 19:00:37 +00:00
Inderjeet Singh
4b8fd66c9d Added a test for issue 389 2011-12-16 17:21:31 +00:00