Jesse Wilson
6d351fea07
Fix a documentation typo.
...
Fixes bug 423.
2012-04-12 18:09:07 +00:00
Jesse Wilson
a991e54157
Make fewer calls to out.write() when serializing strings. On one Android test, this improved serialization time of some documents by 83%.
...
TWEETS
run vm htmlSafe ms linear runtime %
Before app_process true 68.7 ============================== 100%
After app_process true 35.9 =============== 52%
READER_LONG
run vm htmlSafe ms linear runtime %
Before app_process true 439.0 ============================== 100%
After app_process true 74.5 ===== 17%
2012-04-12 13:24:37 +00:00
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
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
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
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
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
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
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
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
Jesse Wilson
b28e518c7e
Hide toJson/fromJson APIs for the 2.1 release.
2011-12-21 21:30:18 +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
Jesse Wilson
c01fc5c935
Fix tests broken by r1078.
2011-12-16 14:12:34 +00:00
Jesse Wilson
2ef7716209
Fix a broken Javadoc link to this.
2011-12-16 05:38:16 +00:00
Jesse Wilson
214234e202
Support @SerializedName on annotations.
...
Fixes issue 347.
2011-12-16 05:32:50 +00:00
Jesse Wilson
b7c3e0067c
Avoid local field accesses in nextString(char). This saves a modest 2%.
2011-12-14 06:07:40 +00:00
Jesse Wilson
d01d39aa26
Use locals instead of fields when figuring out the buffer's offset line and column. This saves about 2% when parsing twitter data.
2011-12-14 05:49:58 +00:00
Jesse Wilson
aa52435951
Apply an ugly optimization to save 5% on pretty printed JSON documents. This uses locals instead of fields in an inner loop to save field reads and writes.
2011-12-14 05:26:29 +00:00
Jesse Wilson
40cd660115
Always provide line and column information when a parse fails.
2011-12-13 23:42:10 +00:00
Jesse Wilson
8e8bf934f9
Inline the nesting stack to save ~20% on JsonReader parsing.
2011-12-13 04:08:48 +00:00
Jesse Wilson
61a549b74d
Don't allocate exceptions in the common case. On one benchmark this improved performance by 20%.
2011-12-13 03:24:35 +00:00
Jesse Wilson
eb2230caf0
Fix nullSafe() to not infinitely recurse on non-null input.
2011-12-06 15:35:52 +00:00
Jesse Wilson
e2e672740a
Fix broken test in registering competing type hierarchy adapters.
...
I actually tried to replicate this test but got an error "type adapters conflict" when I was doing it. I suspect the problem was that I was trying to use 'Object' as the base of my type hierarchy and that class is somehow special.
2011-12-06 15:29:48 +00:00
Inderjeet Singh
b19e187bdd
Minor improvements to TypeAdapter javadocs to promote the use of nullSafe.
2011-12-06 08:32:19 +00:00
Inderjeet Singh
0b734e46e1
Incorporated code review comments from r1061.
...
Made nullSafe() an instance method instead of a static method.
Updated code javadoc to match Guava style.
2011-12-06 08:18:00 +00:00
Jesse Wilson
d5ed0716db
Fix type adapter precedence so that last-registered wins (except for tree type hierarchy adapters, which were always last).
2011-12-06 05:09:18 +00:00
Jesse Wilson
296d843afd
Implement Inder's improvements on the TypeAdapter docs
2011-12-06 04:56:46 +00:00
Inderjeet Singh
91be944022
Added a new API method nullSafe() in TypeAdapter that can be used to avoid boilerplate handling of nulls in a type adapter.
2011-12-05 19:50:49 +00:00
Inderjeet Singh
756131d869
removed Eclipse 3.7 warnings.
2011-12-04 10:24:07 +00:00
Jesse Wilson
f602bce9f5
Nice documentation for TypeAdapter.
2011-12-03 19:46:25 +00:00