Commit Graph

546 Commits

Author SHA1 Message Date
jwilson
2df65502ed Don't use ThreadLocals for @JsonAdapter factories and getDelegateAdapter(). 2016-06-02 00:33:09 -04:00
Inderjeet Singh
45511fdd15 Added support for JsonSerializer/JsonDeserializer for JsonAdapter annotation.
JsonAdapter is cached per the type of the JsonAdapter class.
Added a test to ensure JsonAdapter works on fields of parameterized types
Keep track of registered JsonAdapters and JsonAdapterFactorys in ThreadLocal.
2016-06-02 00:08:25 -04:00
Inderjeet Singh
3ff16c30db Don't use a runtime wrapper if a JsonAdapter annotation is present on a field.
This ensures that JsonAdapter annotation works correctly on a primitive field.
This is a potentially backward incompatible change.
2016-05-17 13:30:59 -07:00
Ryan Harter
a851569ab9 Adds getters for config fields.
This adds simple getters for certain config fields that would be helpful in custom
TypeAdapters to deal with situations like this:
https://github.com/rharter/auto-value-gson/issues/18
2016-04-26 15:30:01 -04:00
Jake Wharton
59edfc1caf Add boxed boolean value() overload.
When calling value() with a Boolean overload resolution would choose value(boolean) which would throw an NPE on null. The other boxed types are all numbers which would resolve to value(Number) and behave correctly.
2016-04-22 19:52:38 -04:00
Ugljesa Jovanovic
ab40462cc7 Check if class can be instantiated based on class modifiers. If not throw an unsupported operation exception. 2016-04-20 10:43:34 +02:00
Scott Brown
0669ff7fd1 allow unquoted long and integer keys 2016-03-12 11:52:13 -07:00
Inderjeet Singh
1ab73ffd21 incorporated code review feedback by eliminating the stringified type adapter. 2016-02-26 09:25:23 -08:00
Inderjeet Singh
1fa43821e8 removed unneeded null check. 2016-02-25 19:37:07 -08:00
Inderjeet Singh
79a00cd906 incorporated code review feedback. Simplified the code, merged Device and Control and removed unnecessary fields. 2016-02-25 17:38:48 -08:00
Inderjeet Singh
c731abb293 Fixed a regression in Gson 2.6 where Gson caused NPE if the TypeAdapterFactory.create() returned null. 2016-02-25 13:56:42 -08:00
Dongjoon Hyun
aa209fa255 Fix some typos in gson comments. 2016-02-15 14:11:23 -08:00
inder123
8383f5c7fa Merge pull request #769 from paniko0/master
timezones without minutes should be valid according RFC3339
2016-02-02 20:23:52 -08:00
Jake Wharton
c8627c8ab8 Update reader and writer for RFC 7159. 2016-01-18 15:07:33 -05:00
inder123
2ab776b5f5 Merge pull request #771 from google/jw/global-leniency
Add setting for leniency on Gson instance.
2016-01-18 14:03:23 -05:00
Jake Wharton
3360c93a76 Add setting for leniency on Gson instance.
Add a JsonReader factory (for parity with the JsonWriter one) which provides a configured instance using the Gson settings.
2016-01-18 12:08:11 -05:00
Jerzy Chalupski
23e2916947 Make TypeAdapters created by @JsonAdapter null-safe 2016-01-18 16:41:07 +01:00
Danillo Souza
ed6298c98a timezones without minutes should are valid according RFC3339 2016-01-11 15:33:55 -02:00
Gorik
bcd52a1fdc Added ISO8601 complete support for date deserialization 2015-11-23 01:11:41 -05:00
Inderjeet Singh
10cefa49d2 added tests for Properties 2015-11-06 16:17:47 -08:00
Inderjeet Singh
01944b246b additional tests for PriorityQueue, Vector and Stack. 2015-11-06 16:16:56 -08:00
Inderjeet Singh
47cc34548d added currency class 2015-11-06 15:41:15 -08:00
Inderjeet Singh
457f53f08f renamed JavaUtilConcurrentLocksTest to JavaUtilConcurrentAtomicTest 2015-11-06 15:24:15 -08:00
Inderjeet Singh
da4334b8df fixed typos 2015-11-05 21:43:10 -08:00
Inderjeet Singh
11b26b5256 Added support for AtomicLongArray.
Also added tests to ensure LongSerializationPolicy is honored.
2015-11-05 14:15:46 -08:00
Inderjeet Singh
7821b73202 Added support for AtomicInteger, AtomicBoolean, AtomicLong and AtomicIntegerArray. 2015-11-05 10:45:23 -08:00
Inderjeet Singh
fef43b2aaa Added support to serialize/deserialize ConcurrentMap and ConcurrentNavigableMap. 2015-11-04 21:25:15 -08:00
Inderjeet Singh
e5b3f6368d updated minimum JDK version to 1.6.
Added Overrides for methods implementing an interface.
2015-11-04 18:52:20 -08:00
inder123
fe101c10bc Merge pull request #719 from google/jwilson_1021_runtime_type_mismatch
Fix type hierarchy adapters to do a runtime check.
2015-10-22 09:29:01 -07:00
jwilson
7d1973e6c5 Fix type hierarchy adapters to do a runtime check.
Otherwise if we have a type hierarchy adapter for Vehicle, and we
attempt to decode a JSON string as a Car, we get the right exception
if the JSON string is actually decoded as a Truck.
2015-10-21 11:42:30 -04:00
Inderjeet Singh
109915d93a Implemented support for multiple values for SerializedName annotation. 2015-10-03 02:01:30 -07:00
Inderjeet Singh
3aec173243 small reformatting 2015-09-26 18:02:12 -07:00
Inderjeet Singh
3daf585931 Implemented equals and hashcode for LazilyParsedNumber to fix
https://github.com/google/gson/issues/627
2015-09-26 17:58:13 -07:00
Inderjeet Singh
fbb8696e83 Added tests for deserialization of double array 2015-09-01 17:49:34 -07:00
Vladislav Bauer
eb79ec73f0 Add unit tests for constructors from util classes 2015-08-15 05:29:46 +06:00
inder123
0a93efada5 Merge pull request #652 from schlan/fix_turkish_locale_issues
Fix issues if runing in an environment with a Turkish locale
2015-08-08 09:10:48 -07:00
inder123
24eec9428b Merge pull request #671 from ownaginatious/master
Support for adding primitives directly to JsonArray instances
2015-07-26 14:17:10 -07:00
Dillon Dixon
5cf82a573f Added test for nulls 2015-07-23 23:02:46 -07:00
Dillon Dixon
a67ca052a3 Added test for mixed primitives 2015-07-23 23:00:18 -07:00
Dillon Dixon
374e5b0aa5 Added test ovr new DOM functionality 2015-07-23 22:57:32 -07:00
Adam Tanner
457541611c Replace localhost lookup with static IP to fix test.
Calling InetAddress.getLocalHost() will cause a lookup to occur that may
fail with a java.net.UnknownHostException if the system the test is
running on is not configured correctly.

This is often fixed by echoing "127.0.0.1 $HOSTNAME" to /etc/hosts, but
in this case it seems easier to pick a static IP string to avoid the
lookup entirely and prevent false negatives in the test.
2015-07-20 14:03:52 -07:00
Adam Tanner
f7abd59a3b JsonWriter#jsonValue writes raw JSON values.
Add a jsonValue(String value) method that takes a raw JSON string that
can be used to write the string directly to the underlying writer
without modification.

The intended use case for this is when building JSON that contains a
pre-serialized JSON string as a value in an object or array.
2015-07-20 10:56:56 -07:00
Sebastian Chlan
299ee89852 Add tests to demonstrate the issue
Run the FieldNamingTest with the JVM options: `-Duser.language=tr
-Duser.region=TR`
2015-06-09 15:12:38 +01:00
Inderjeet Singh
fdaa6b05c4 ensuring that the type field is written by runtime type adapter 2014-12-10 22:57:08 +00:00
Inderjeet Singh
7d96ce8d6d fixed tests to take care of stackTrace element appearing sometimes 2014-12-10 22:43:44 +00:00
Inderjeet Singh
8d5a41329e added tests for Throwable. Revised ReflectiveTypeAdapterFactory to ignore self-referencing fields. 2014-11-16 22:55:18 +00:00
Inderjeet Singh
1de2ace065 removed eclipse warnings. updated maven plugins to the latest versions 2014-11-16 20:45:01 +00:00
Inderjeet Singh
60b2370c74 added a test for RuntimeTypeAdapterFactory using JsonAdapter annotation 2014-11-11 22:04:20 +00:00
Inderjeet Singh
e652ec0dd9 revised a test to validate that we can query a delegate adapter from typeadapterfactorie registered in JsonAdapter 2014-11-11 02:02:56 +00:00
Jesse Wilson
d6c8c1e3cf Fix bugs in getPath() with arrays of objects and arrays of arrays 2014-11-11 01:59:48 +00:00