Eric Cochran
de336ef86e
Allow delegates for intermediates in adapters.
2017-10-04 15:53:33 -07:00
Eric Cochran
2db89355f1
Add CheckReturnValue for toJson's string result.
...
This helps Error Prone and the IDE find accidental usages of toJson(value) instead of toJson(writer, value).
2017-09-25 14:18:31 -04:00
Eric Cochran
00694e9878
Fail earlier with null annotation set.
2017-07-19 11:29:06 -07:00
jwilson
9e9655b556
Change the adapter for Object.class to delegate.
...
Previously if we ever had an opaque Object, the content of this object
would always only use the built-in adapters for its members.
This changes the built-in Object adapter to do one layer of type checking
and then to delegate to user-supplied adapters.
The big upside of this is that application code can now change the default
numeric type to use when decoding an untyped object. Typically this will
be used to replace our default of Double with a user-specified numeric type
like BigDecimal.
2017-05-26 23:44:46 -04:00
jwilson
798f14bda5
[maven-release-plugin] prepare for next development iteration
2017-05-14 22:20:00 -04:00
jwilson
f42ae45f4c
[maven-release-plugin] prepare release moshi-parent-1.5.0
2017-05-14 22:19:55 -04:00
Eric Cochran
e59dbf4f96
Add @Nullable to result of Types.nextAnnotations. ( #298 )
2017-05-06 21:07:59 -04:00
Jesse Wilson
c65b3bf1cb
Import jsr305 and use it to mark @Nullable stuff. ( #297 )
2017-05-06 20:31:24 -04:00
jwilson
0ea1959b7e
Enable Checkstyle 7.7.
2017-05-06 14:48:55 -04:00
Eric Cochran
13fd0b252c
Throw NPE for null indent string in factory method. ( #289 )
...
Fail when creating the JsonAdapter rather than when using it.
2017-04-29 21:46:08 -04:00
Serj Lotutovici
f942e0fd52
Make Types.equals(Type, Type) public. ( #292 )
2017-04-29 21:45:06 -04:00
Eric Cochran
d95dd07c56
Fix Types.equals for arrays. ( #279 )
2017-04-20 17:27:47 -05:00
Eric Cochran
448a2d3298
Treat negative zero as a number, not a long. ( #285 )
...
Updates logic from https://github.com/google/gson/issues/1053
2017-04-20 17:22:06 -05:00
Jesse Wilson
81bbe870f1
KotlinJsonAdapter ( #281 )
...
* Add kotlin-module with support for Kotlin data classes
* Naming and style changes to KotlinJsonAdapter.
Biggest changes:
* Attempt to support regular classes and data classes
* Avoid parameter hashing when indexing is sufficient for
constructor parameters
2017-04-18 23:51:37 -04:00
Jesse Wilson
8c18caf574
Add a test to confirm types are canonicalized. ( #278 )
...
Obsoletes https://github.com/square/moshi/pull/129/files
2017-04-16 12:15:53 -04:00
Eric Cochran
11dbc3c50b
Fix @ToJson IAE message. ( #275 )
2017-03-28 05:57:53 -04:00
Eric Cochran
718f832864
Allow easy delegates in adapter methods. ( #272 )
2017-03-27 21:48:19 -04:00
Eric Cochran
1b634bbb74
Update adapter methods ISE message. ( #273 )
2017-03-27 19:25:31 -04:00
Jake Wharton
05b0a46961
Add error-prone compiler. ( #259 )
...
* Fix error-prone warning
* Add error-prone compiler.
* Suppress warning about calling getClass() on annotation.
2017-02-14 22:28:24 -05:00
jwilson
49092ece96
[maven-release-plugin] prepare for next development iteration
2017-02-04 15:20:11 -05:00
jwilson
d075a3e56a
[maven-release-plugin] prepare release moshi-parent-1.4.0
2017-02-04 15:20:05 -05:00
Eric Cochran
332adcadf5
Add JsonReader.readJsonValue
2017-02-03 20:29:59 -08:00
jwilson
5ea65a5f95
Fix a typo in the name of JsonUtf8Writer.
2017-02-03 13:02:18 -05:00
jwilson
e9d8538ec3
Rename toJsonObject() to toJsonValue(), fromJsonObject() to fromJsonValue().
...
Also rename the JsonReader and JsonWriter implementations.
2017-02-02 21:28:38 -05:00
Jesse Wilson
3af58f4a43
Merge pull request #245 from NightlyNexus/eric/platform-fields
...
Fix isPlatformType
2017-02-02 09:10:45 -05:00
jwilson
fdaecb9fb8
Use BigDecimal to encode exotic number types.
...
Previously we'd retain whatever types the caller passed in. This was
potentially problematic for non-immutable numeric types like AtomicInteger.
2017-02-02 08:27:07 -05:00
Eric Cochran
9420b6493c
Fix isPlatformType
...
createFieldBindings should not take the allowed platform types into
account.
2017-02-01 18:37:44 -08:00
Jesse Wilson
3c23da50cf
Merge pull request #242 from NightlyNexus/eric/nextAnnotations
...
Add Types.nextAnnotations
2017-01-31 21:08:14 -05:00
Eric Cochran
9417cd8207
Add tests for duplicate JSON keys
2017-01-31 14:44:17 -08:00
Eric Cochran
05b594a26c
Add Types.nextAnnotations
2017-01-31 11:18:13 -08:00
Eric Cochran
6a2981108f
Add arrayOf, subtypeOf, supertypeOf tests
2017-01-30 23:03:20 -08:00
Jesse Wilson
ed164fd806
Merge pull request #235 from NightlyNexus/master
...
Improve error message for qualified platform types
2017-01-30 20:56:34 -05:00
Jesse Wilson
14a430cb58
Merge pull request #237 from NightlyNexus/patch-1
...
Add Types.createJsonQualifierImplementation
2017-01-30 20:55:00 -05:00
Eric Cochran
d27eaa161a
Add adapter(Type, Class<? extends Annotation>)
2017-01-30 11:19:40 -08:00
jwilson
75b549f1ff
Implement promoteValueToName() for ObjectJsonWriter.
...
This was renamed from promoteNameToValue(). Also run the test on both types of
codecs and fix some implementation issues that uncovered.
2017-01-29 22:47:59 -05:00
jwilson
b338d1e7ed
New JsonAdapter.serializeNulls() method.
...
This makes it possible to force nulls into the document without
much fuss.
2017-01-29 22:18:12 -05:00
Eric Cochran
99c1cd0ffd
Improve error message for qualified platform types
2017-01-28 16:47:22 -08:00
Jesse Wilson
99479682ba
Merge pull request #233 from square/jwilson.0124.promote_stacks
...
Promote stack management to the JsonReader/JsonWriter supertypes.
2017-01-25 22:26:30 -05:00
jwilson
4b7ced70e4
Promote stack management to the JsonReader/JsonWriter supertypes.
...
It turns out that we can reuse a lot of code with inheritance. Who knew?
2017-01-25 22:25:19 -05:00
jwilson
e54b023991
New APIs: JsonAdapter.toJsonObject, fromJsonObject.
...
https://github.com/square/moshi/issues/89
2017-01-24 22:11:31 -05:00
jwilson
5ca491fe50
Implement ObjectJsonWriter.
...
https://github.com/square/moshi/issues/89
2017-01-23 20:46:35 -05:00
Jake Wharton
3f06c0cf55
Merge pull request #228 from square/jwilson.0122.json_writer_tests
...
Prepare tests for a 2nd implementation of JsonWriter.
2017-01-23 17:32:44 -05:00
Serj Lotutovici
ed6c3a66b0
ObjectJsonReader.typeMismatch should return not throw.
2017-01-23 00:12:11 +01:00
Jesse Wilson
050b9affbc
Merge pull request #230 from serj-lotutovici/sl/no_loop_if_buf
...
Avoid calling source.select() if the value is buffered.
2017-01-22 18:00:21 -05:00
Serj Lotutovici
ddf2489910
Avoid calling source.select() if the value is buffered.
2017-01-22 23:35:02 +01:00
Serj Lotutovici
5904b9ce8b
Class and Enum adapters now rely only on Options.
2017-01-22 23:08:52 +01:00
Jesse Wilson
db30df146f
Merge pull request #217 from serj-lotutovici/sl/make_options_public
...
Make JsonReader.selectName and JsonReader.selectString public.
2017-01-22 16:30:13 -05:00
Serj Lotutovici
89f4527466
Make JsonReader.selectName and JsonReader.selectString public.
...
* Make JsonReader.Options public by extent.
* Both select methods now stip out unnecessary escaping.
* Re-order tests for select methods.
2017-01-22 22:06:45 +01:00
jwilson
94ff4b7cc2
Prepare tests for a 2nd implementation of JsonWriter.
2017-01-22 15:07:45 -05:00
Serj Lotutovici
c69049661b
Make JsonReaderFactory implement toString().
2017-01-22 09:36:24 +01:00