Jesse Wilson
bb451eac43
Merge pull request #832 from google/831
...
Ensuring that JsonAdapter annotation works correctly for primitive fi…
2016-05-17 17:26:52 -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
Inderjeet Singh
61f83d6309
Replaced a JDK 1.7 specific method with its JDK 1.6 equivalent.
2016-05-17 01:03:00 -07:00
Baschdl
c414b368e1
Corrected documentation, copy&paste error
2016-05-12 14:47:03 +02:00
Jake Wharton
371aff7ce4
Switch default Queue implementation to ArrayDeque.
...
Now that we require Java 1.6 or newer this much more efficient implementation can be used as the default.
2016-04-27 00:37:28 -04:00
Jake Wharton
8537c8932f
Optimize list allocation for every reflective field.
...
The common cases (no @SerializedName and a single-value @SerializedName) now use a specialized one-element collection. Cases with alternate names use a much more space efficient ArrayList which is exactly sized.
This is also a performance win for adapter initialization since an index-based loop was used on the returned type for which LinkedList is not suited for.
2016-04-27 00:28:51 -04: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
Jesse Wilson
0f66f4fac4
Merge pull request #829 from ionspin/master
...
Check if class can be instantiated based on class modifiers. Fix for #817
2016-04-22 06:47:08 -10: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
gavlyukovskiy
966de9e60d
fixed throwing RuntimeException instead of JsonIOException
2016-04-15 21:00:59 +03:00
Scott Brown
9c4f352320
minor javadoc fix ... @code block not treated as html
2016-04-08 19:34:05 -06:00
Inderjeet Singh
34d7521d95
moved the JsonSerializationContext/JsonDeserializationContext fields to where they are used.
...
Also moved TreeTypeAdapter to internal.bind package for potential use in JsonAdapterAnnotationFactory.
2016-03-28 14:46:02 -07:00
Scott Brown
0669ff7fd1
allow unquoted long and integer keys
2016-03-12 11:52:13 -07:00
qwwdfsad
31dcfa3ad6
More appropriate usage of null key surrogate in Gson#getAdapter for backward compatibility
2016-03-05 02:08:26 +03:00
qwwdfsad
c5611847a3
Gson synchronized map replaced with concurrent hash map
2016-03-05 00:28:25 +03:00
Inderjeet Singh
416ddb101d
[maven-release-plugin] prepare for next development iteration
2016-02-26 18:31:14 -08:00
Inderjeet Singh
fe62b04148
[maven-release-plugin] prepare release gson-parent-2.6.2
2016-02-26 18:22:26 -08:00
Inderjeet Singh
0dfa28ac3e
previous mvn release:prepare failed but updated GitHub anyway. Fixing that.
2016-02-26 18:19:41 -08:00
Inderjeet Singh
607bcaaf9d
[maven-release-plugin] prepare for next development iteration
2016-02-26 18:14:54 -08: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
Sean Bright
4eff1a855f
Restore OSGi manifest headers
...
Commit 2016e95
removed the necessary MANIFEST.MF headers for Gson to
resolve in an OSGi environment. This patch restores them.
2016-02-24 09:14:09 -05:00
Dongjoon Hyun
aa209fa255
Fix some typos in gson comments.
2016-02-15 14:11:23 -08:00
jwilson
796b4ca26d
[maven-release-plugin] prepare for next development iteration
2016-02-11 22:53:04 -05:00
jwilson
3c9b9af0a1
[maven-release-plugin] prepare release gson-parent-2.6.1
2016-02-11 22:52:59 -05:00
jwilson
85722329db
[maven-release-plugin] prepare for next development iteration
2016-02-11 13:03:12 -05:00
jwilson
b8220eb195
[maven-release-plugin] prepare release gson-parent-2.6
2016-02-11 13:03:10 -05:00
jwilson
2016e9553e
Simplify Gson poms.
...
A lot of the configuration in these poms has been taken over by improvements
to the Maven release plugin.
2016-02-11 12:56:33 -05: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
Psidium
61f58baaf9
fix typo in JsonArray docs
2016-01-12 11:02:42 -02:00
Danillo Souza
ed6298c98a
timezones without minutes should are valid according RFC3339
2016-01-11 15:33:55 -02:00
inder123
1f803bd37d
Merge pull request #761 from google/jw/nuke-synthetics
...
Remove synthetic accessors from being generated.
2015-12-27 14:08:23 -05:00
Jake Wharton
7a1c94f986
Remove synthetic accessors from being generated.
2015-12-27 01:39:19 -05:00
inder123
59a8fb5c5e
Update pom.xml
2015-12-14 16:48:49 -08:00
Inderjeet Singh
2b4ac2334e
[maven-release-plugin] prepare for next development iteration
2015-11-23 19:32:33 -08:00
Inderjeet Singh
d7d064feb8
[maven-release-plugin] prepare release gson-parent-2.5
2015-11-23 19:32:26 -08:00
Gorik
d86dfdec7c
Removed unused code in ISO8601Utils
2015-11-23 01:21:41 -05:00
Gorik
bcd52a1fdc
Added ISO8601 complete support for date deserialization
2015-11-23 01:11:41 -05:00
inder123
e48c780389
Merge pull request #733 from google/java_util_additional_classes
...
Supported Currency and added additional tests for Vector, Stack and Properties.
2015-11-17 17:57:59 -08:00
Inderjeet Singh
c935f89b23
Added the cause to Assertions
2015-11-16 09:16:23 -08:00
Inderjeet Singh
05b17f9271
Adding details in the throw exception on a missing field.
2015-11-16 09:12:23 -08: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
caef762530
added factory fields for consistency
2015-11-05 14:03:51 -08:00
Inderjeet Singh
cc54e4dbdd
made methods static
2015-11-05 10:46:54 -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
79e1c669ed
Linking to JDK 6 javadocs
2015-11-04 18:55:23 -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
Roman Mazur
3b1671dde9
Fix javadoc of SerializedName
...
In #699 the approach was changed but docs were left for the first implementation.
2015-10-04 19:56:02 +03:00
Inderjeet Singh
d0ee733c96
[maven-release-plugin] prepare for next development iteration
2015-10-03 17:38:26 -07:00
Inderjeet Singh
80c13447ed
[maven-release-plugin] prepare release gson-parent-2.4
2015-10-03 17:38:17 -07:00
Inderjeet Singh
d1883b5e5b
added relativePath to avoid warning about incorrect parent path
2015-10-03 17:37:14 -07:00
Inderjeet Singh
109915d93a
Implemented support for multiple values for SerializedName annotation.
2015-10-03 02:01:30 -07:00
Jesse Wilson
3361030766
Merge pull request #705 from google/627
...
Implemented equals and hashcode for LazilyParsedNumber to fix
2015-09-27 17:25:04 -04:00
Inderjeet Singh
96b2ada79a
incorporated code review feedback: optimized LazilyParsedNumber.equals/hashcode() by utilizing the fact that value is never passed as null.
2015-09-27 13:58:01 -07:00
dushyant
2ecce94494
typo
2015-09-27 16:01:27 +05:30
Inderjeet Singh
1e9004403c
Fixed javadoc for JsonWriter as reported in
...
https://github.com/google/gson/issues/623
2015-09-26 18:10:00 -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
Jake Wharton
e81f3eba27
Expose newJsonWriter wrapper instead of just options.
...
This is more future proof to ensure that consumers holding on to TypeAdapters for efficiency can always encode JSON in the same way as if the Gson instance was used directly.
2015-09-26 19:19:38 -04:00
Jake Wharton
31f80d8659
Merge pull request #700 from google/jwilson_0907_serializenulls_accessor
...
Expose serializeNulls with an accessor.
2015-09-07 22:44:05 -04:00
jwilson
ff2c8f8e8b
Expose serializeNulls with an accessor.
...
Useful for frameworks that build on Gson.
2015-09-07 22:31:43 -04:00
Inderjeet Singh
1bf62f0214
updated maven plugin versions to latest
2015-09-07 12:02:45 -07:00
Dorvaryn
618343fd1b
Clarify the fact that the behaviour of getDelegateAdapter depends on registration order.
2015-09-03 18:15:24 +01:00
Inderjeet Singh
fbb8696e83
Added tests for deserialization of double array
2015-09-01 17:49:34 -07:00
Jesse Wilson
87717662f7
Merge pull request #689 from vbauer/util-classes
...
Add unit tests for constructors from util classes
2015-08-14 20:42:31 -04:00
Vladislav Bauer
eb79ec73f0
Add unit tests for constructors from util classes
2015-08-15 05:29:46 +06:00
Michael Evans
64d74db8ae
Add METHOD target for use with AutoValue's abstract property methods
2015-08-14 14:08:56 -04:00
Inderjeet Singh
0c4ae01836
Updated Gson Javadoc to indicate thread-safety.
2015-08-10 19:34:07 +05:30
inder123
2ee680a645
Revert "Add a JSR-305 @ThreadSafe annotation to the Gson class"
2015-08-10 19:31:18 +05:30
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
Lars Vogel
37d00c268d
Readme points to the new homepage at Github
2015-07-29 18:45:24 +02: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
inder123
d805f22166
Merge pull request #669 from adamtanner/inet-address-test-failure
...
Replace localhost lookup with static IP to fix test.
2015-07-26 14:13:32 -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
Dillon Dixon
d8c12a727f
Fixed accidental duplication of null elements
2015-07-23 21:18:01 -07:00
Dillon Dixon
6960ebc776
Updated JsonArray to support adding primitives directly via an overloaded "add(...)" method rather than having to always do "add(new JsonPrimitive(...))"
2015-07-23 20:44:04 -07:00
Adam Tanner
2b67815808
Change references to Google Code to Github.
2015-07-20 14:31:39 -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
Stefan Ferstl
82edd57205
Add a JSR-305 @ThreadSafe annotation to the Gson class
...
- Add an optional dependency to com.google.code.findbugs:jsr305.
The optional scope is used in order to avoid introducing a new
transitive dependency to the jsr305 library. This is fine because the
@ThreadSafe annotation has only a documentary purpose and it is not
retained at runtime.
- Annotate the Gson class as @ThreadSafe
Fixes Issue #613
2015-07-13 18:34:38 +02:00
Jake Wharton
032847976c
There is no I/O writing to a StringWriter.
2015-06-17 22:01:17 -04:00
Sebastian Chlan
6e57df7e96
FieldNamingPolicy: Use Locale.ENGLISH to be locale insensitive
2015-06-09 15:25:16 +01: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
1d9e86e27c
fixed extras build
2014-12-04 22:07:13 +00:00
Inderjeet Singh
33e74101e5
javadocs for 2.3.1
2014-11-20 10:17:53 +00:00
Inderjeet Singh
c3d17e39f1
[maven-release-plugin] prepare for next development iteration
2014-11-20 09:09:32 +00:00
Inderjeet Singh
eba6825a38
[maven-release-plugin] prepare release gson-2.3.1
2014-11-20 09:08:22 +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
b6a625fb6c
fixed issue 469 by adding a TypeAdapterFactory for throwables that ignores cause if it is self-referencing
2014-11-16 22:25:23 +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
84e3442eb0
Fixed issue 582
2014-11-12 23:35:36 +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
Inderjeet Singh
f2591b6664
adjusted factory finding code to take into account non-present factories
2014-11-10 23:15:31 +00:00
Jake Wharton
7f8f490fdc
Re-order factories to allow @JsonAdapter on enums which are user-defined types.
2014-11-04 00:59:42 +00:00
Jesse Wilson
6580921f9d
Use a version range that works with Maven 3.0.4.
...
Fixes issue 588.
2014-09-16 14:40:54 +00:00
Jesse Wilson
ea17ccc651
Restore missing fails.
2014-08-12 21:06:56 +00:00
Inderjeet Singh
c6eced6d87
javadocs for 2.3
2014-08-12 00:01:30 +00:00
Inderjeet Singh
85e2d1901c
[maven-release-plugin] prepare for next development iteration
2014-08-11 23:35:34 +00:00
Inderjeet Singh
cf894f3d58
[maven-release-plugin] prepare release gson-2.3
2014-08-11 23:35:29 +00:00
Inderjeet Singh
192e32d430
updated maven pom for Java8
2014-08-11 23:33:42 +00:00
Jake Wharton
c5dc3b791b
Correct JsonElement javadoc exception references.
2014-08-09 06:14:12 +00:00
Jake Wharton
f4185289f6
Correct TypeAdapterFactory reference in its Javadoc.
2014-08-09 05:35:33 +00:00
Jake Wharton
f1f838cf20
Favor post-Gingerbread instantiation mechanism.
...
pre-Gingerbread is now a small subset of the Android OS distribution and is constantly shrinking toward zero.
2014-08-09 05:32:50 +00:00
Jesse Wilson
6a3e83a741
Javadoc for TypeAdapterFactory in @JsonAdapter.
2014-08-05 15:00:15 +00:00
Jake Wharton
117d8ea68f
Add TypeAdapterFactory support to @JsonAdapter.
2014-08-04 16:58:41 +00:00
Jesse Wilson
125e6d9d3d
Change field annotations to take precedence over registered type adapters.
2014-08-02 18:22:43 +00:00
Inderjeet Singh
f9a302e22a
incorporated code review feedback. Added a test to ensure JsonAdapter validation doesn't carry side-effects to other fields
2014-08-01 02:16:42 +00:00
Jesse Wilson
fbc7e69c81
Implement JsonPath in JsonReader.
2014-07-31 05:17:54 +00:00
Inderjeet Singh
80bbf4a85a
revised JsonArray.set() method to return the JsonElement. (thanks Buchholz Bastian for catching that!)
2014-07-04 17:31:43 +00:00
Inderjeet Singh
b9578a4d7e
renamed JsonArray.has() to JsonArray.contains()
2014-07-04 02:03:34 +00:00
Inderjeet Singh
94e21eca21
renamed JsonArray.contains() to has() to be consistent with JsonObject.has()
2014-07-03 17:31:07 +00:00
Inderjeet Singh
06282a4d13
Fixed issue code.google.com/p/google-gson/issues/detail?id=353 by adding set method in JsonArray
2014-07-02 18:30:17 +00:00
Inderjeet Singh
9bbdcac5a8
Fixed issue code.google.com/p/google-gson/issues/detail?id=353 by adding remove and contains methods in JsonArray
2014-07-02 18:21:36 +00:00
Jesse Wilson
c6752fc47a
Fix inverted docs in ExclusionStrategy.
2014-06-04 04:30:19 +00:00
Jesse Wilson
a411a766f7
Leitch --> Wilson !
2014-05-23 05:43:39 +00:00
Inderjeet Singh
14ba59fa88
code review fixes. Moved getFirstArgument() method from $Gson$Types to GsonTypesTest.
2014-05-19 17:34:25 +00:00
Inderjeet Singh
b373c20136
Fixed issue 552 by documenting when fromJson returns null.
2014-03-29 23:28:52 +00:00
Inderjeet Singh
c53e255105
Fixed typo as mentioned in issue 565
2014-03-26 18:07:59 +00:00
Inderjeet Singh
edf66083e6
renamed @Adapt to @JsonAdapter
2014-03-26 17:59:54 +00:00
Inderjeet Singh
7f6a096030
renamed JsonAdapter annotation to Adapt annotation.
2014-03-09 23:08:54 +00:00
Inderjeet Singh
6e8d3cd65e
Created threadsafe implementation of JsonAdapter invocation. Also fixed a bug where runtime generated typeadapters were being carried over from a toJson/fromJson call to the next.
2014-03-09 23:00:53 +00:00
Inderjeet Singh
e280ffd7e2
Fixed broken test to ensure that a field JsonAdapter annotation supersedes the class JsonAdapter annotation.
...
Added a map in Gson to keep track of TypeAdapters which are generated by Gson.
2014-03-09 08:36:24 +00:00
Inderjeet Singh
0922af5be6
removed invalid imports
2014-03-09 08:23:05 +00:00
Inderjeet Singh
67af0dd8f8
Added javadoc comment in JsonAdapter explaining the usage for fields.
...
Added a (broken) test the ensure a field annotation for JsonAdapter supersedes a class annotation.
2014-03-09 08:21:06 +00:00
Inderjeet Singh
f88eee094c
removed some eclipse warnings
2014-03-09 07:33:08 +00:00
Inderjeet Singh
eaaa2a1b4f
added functional tests for applying JsonAdapter annotation on Fields.
2014-03-09 07:31:02 +00:00
Inderjeet Singh
b9998e511f
deleted support for the magic GSON_TYPE_ADAPTER field
2014-03-09 07:30:37 +00:00
Inderjeet Singh
bf549f0589
Added support for JsonAdapter annotation on fields
2014-03-09 07:28:04 +00:00
Inderjeet Singh
67d512ee7d
Created a JsonAdapter annotation that can be applied to classes to indicate their TypeAdapter.
2014-03-08 22:37:19 +00:00
Inderjeet Singh
7c97ac2944
Updated Gson version to 2.3-SNAPSHOT since this is a new feature.
...
Added support for a magic field GSON_TYPE_ADAPTER in a class. This adapter is automatically invoked if present.
The field must be present in the class (not in any super-type), and must be strongly typed as TypeAdapter<T>.
2014-03-08 20:08:13 +00:00
Inderjeet Singh
b2a9d872db
deleted redundant and invalid precondition.
2014-03-08 19:33:24 +00:00
Inderjeet Singh
c3d0f200b3
Fixed a bug where an inner static class was incorrectly marked as non-static while creating parameterized types.
2014-03-08 19:12:24 +00:00
Inderjeet Singh
b52f692ffa
update various maven plugin versions
2014-03-08 17:30:15 +00:00
Inderjeet Singh
eb817e307f
added snapshot repository in pom.xml
2013-09-03 17:49:15 +00:00
Inderjeet Singh
c235aa0c1b
updated the id of the sonatype nexus staging repository.
2013-09-02 19:27:44 +00:00
Inderjeet Singh
2b95a4822b
added distribution management section to pom
2013-09-01 23:42:08 +00:00
Jesse Wilson
1840466704
Fix a nasty bug where elements in LinkedHashTreeMap could be dropped.
...
The underlying problem is that the doubleCapacity function would drop the parent links when all nodes ended up on the same side in a doubling. This was caused by the fact that the AvlIterator was destructive on parent nodes, and we weren't putting them back together with the AvlBuilder. This removes an incorrect optimization and fixes the problem.
Also move LinkedHashTreeMap back into main from test.
2013-05-14 21:43:20 +00:00
Joel Leitch
d2b660570e
2.2.4 JavaDoc.
2013-05-13 21:45:29 +00:00
Joel Leitch
6f19060e14
[maven-release-plugin] prepare for next development iteration
2013-05-13 21:36:45 +00:00
Joel Leitch
b378548c5c
[maven-release-plugin] prepare release gson-2.2.4
2013-05-13 21:36:39 +00:00
Joel Leitch
8834343861
Moving broken class to "test" package for now and disabling broken test.
2013-05-13 21:01:33 +00:00
Joel Leitch
2d5cab1b7b
Fix hashing in LinkedHashTreeMap, but it still does not work :(
2013-05-13 20:40:07 +00:00
Joel Leitch
3f4bc4cd10
Remove unused import
2013-05-13 20:38:35 +00:00
Joel Leitch
e4508227c5
Added test to use BigDecimal to parse number when requesting it as a long.
2013-05-13 20:37:33 +00:00
Joel Leitch
f29d5bc37b
Create a LinkedTreeMap based on the LinkedHashTreeMap; however, removed all the hashing from it as resorted to a single tree. The insertion order is still preserved.
2013-05-03 16:11:16 +00:00
Joel Leitch
7c9fd53c78
Fix test that expects an exception to fail if no exception is thrown
2013-05-03 15:34:58 +00:00
Joel Leitch
b88e0e9395
Test to expose edge doubling and rehashing bug in LinkedHashTreeMap.
2013-05-03 15:13:30 +00:00
Joel Leitch
8e8bb9c688
Added test for comments inside a string value.
2013-04-14 21:36:47 +00:00
Inderjeet Singh
93041211d1
2.2.3 javadocs
2013-04-12 21:51:58 +00:00
Inderjeet Singh
d831f42168
[maven-release-plugin] prepare for next development iteration
2013-04-12 21:31:10 +00:00
Inderjeet Singh
f002374e22
[maven-release-plugin] prepare release gson-2.2.3
2013-04-12 21:31:02 +00:00
Inderjeet Singh
16a21719ff
updated maven plugin versions
2013-04-12 21:28:11 +00:00
Inderjeet Singh
6347e9b9c6
ensuring that LinkedHashTreeMap.contains() returns false when non-Comparable() keys are passed to it
2013-04-12 21:10:21 +00:00
Inderjeet Singh
6f0a6a4662
made inner classes static and final
2013-04-12 20:20:53 +00:00
Inderjeet Singh
ae034b5ca2
eliminated eclipse warnings by adding a default label to switch.
2013-04-12 20:14:50 +00:00
Inderjeet Singh
a3f11150cc
removed more eclipse warnings
2013-04-12 20:12:12 +00:00
Inderjeet Singh
26016ca66e
removed eclipse warnings, unused fields. Made inner classes static where possible.
2013-04-12 20:09:08 +00:00
Joel Leitch
70f9280cb6
Remove usage of StringPool as it appears to slow things down and avoid Java String intern for the common cases.
2013-04-08 18:36:23 +00:00
Joel Leitch
83e1f45653
Re-add non-comparable key tests to LinkedHashTreeMap.
2013-04-04 22:29:29 +00:00
Inderjeet Singh
c22ab9767d
fixed https://code.google.com/p/google-gson/issues/detail?id=491 by adding OSGi entries for maven-source-plugin
2013-04-04 22:05:56 +00:00
Inderjeet Singh
edd6c19670
deleted unused enum and reordered imports
2013-04-04 21:40:05 +00:00
Joel Leitch
af6aa5f782
Use the LinkedHashTreeMap instead of LinkedTreeMap and delete the LinkedTreeMap version.
2013-04-04 21:31:23 +00:00
Inderjeet Singh
7d53113ebc
fixed https://code.google.com/p/google-gson/issues/detail?id=509 by adding construction for EnumSet
2013-04-04 21:15:50 +00:00
Jesse Wilson
63142f621c
Use the right method name in error messages.
...
Fixes issue 498.
2013-02-04 16:05:00 +00:00
Jesse Wilson
6a69c603c0
Permit serialization of "Class" fields, but only if they're null.
2013-02-04 15:52:51 +00:00
Joel Leitch
edf326e756
Tag member fields as transient since a LinkedHashMap is used for serialization.
2013-01-15 20:04:26 +00:00
Joel Leitch
5af92f1736
Additional changes to a map test with "null" string key.
2013-01-14 22:18:07 +00:00
Joel Leitch
6dc6b4be92
Fix object leak from ThreadLocal.
2013-01-14 22:05:28 +00:00
Joel Leitch
e5b9b8eb81
Minor addition to the JsonNullTest.
2013-01-14 18:40:23 +00:00
Joel Leitch
84201c015f
Do not peek during a "skipValue" if a value has already been peeked.
2013-01-14 18:38:46 +00:00
Joel Leitch
3f2efac95e
Stop blowing up on a null key, but rather return that the element is not found.
2013-01-09 23:37:38 +00:00
Joel Leitch
b0531e1649
Ensure "excluder" is added prior to user defined type adapters/factories.
...
- Added test expose bad behaviour.
2012-12-20 19:41:33 +00:00
Joel Leitch
6d90f0d894
Make JsonElement TypeAdapterFactory a type hierarchy factory.
2012-12-20 07:57:17 +00:00
Jesse Wilson
b4d51db776
Add a test case for a problem reported on the group.
...
https://groups.google.com/d/topic/google-gson/EBmOCa8kJPE/discussion
2012-10-29 16:30:33 +00:00
Joel Leitch
040bae34d7
Allowing instance creators to be registered with the raw type only (without specifying type parameters).
2012-10-24 20:40:44 +00:00
Jesse Wilson
af4879dbb7
Move interceptors from 'alpha' to 'extras'.
...
This makes the feature less risky to use! It now uses our
TypeAdapterFactory infrastructure rather than relying on
parallel infrastructure.
2012-10-23 17:36:30 +00:00
Jesse Wilson
1e18dce002
Don't subclass ThreadLocal.
...
This attempts to address issue 402, wherein subclassing ThreadLocal is pinning a reference to a class, which transitively pins the entire application in containers like Tomcat.
2012-10-23 02:41:34 +00:00
Jesse Wilson
22c835f2bc
Fix compile warnings
2012-10-23 02:40:14 +00:00
Inderjeet Singh
fd4fbe4132
Added support for collections, maps, and arbitrary depth of type adapters for Intercept annotation.
...
Added more tests for the features.
2012-10-18 02:37:43 +00:00
Inderjeet Singh
714ac8e643
added tests for using intercept in fields and lists. These tests are currently failing.
2012-10-11 20:29:40 +00:00
Inderjeet Singh
c25278b4d6
Created an alpha package that holds experimental feature.
...
Added support for JsonPostDeserializer that allows you to invoke postDeserialize methods on an Gson deserialized object.
2012-10-11 03:20:36 +00:00
Joel Leitch
14f16e2d0c
Adding Red-Black Tree implementation and tying it into the Gson bindings.
2012-10-11 03:15:49 +00:00
Jesse Wilson
2fef83799d
Optimizations and bug fixes for LinkedHashTreeMap.
...
The most interesting optimization is to replace ArrayDeque with a manual linked list that reuses the nodes 'parent' field. These optimizations save about 20%.
2012-09-17 03:30:20 +00:00
Jesse Wilson
aceadaecf1
Add a hashing layer to LinkedTreeMap. Instead of having 1 root node, the class now has several root nodes, one for each hash bucket in a hash table.
...
Compared to LinkedTreeMap, this is slower for small (size=5) maps: 124% slower to get() and 33% slower to create and populate. It's a win for large (size=500) maps: 46% faster to get() but 8% slower to create and populate. And it's a big win for very large (size=50,000) maps: 81% faster to get() and 46% faster to create and populate.
http://microbenchmarks.appspot.com/run/limpbizkit@gmail.com/com.google.common.collect.MapBenchmark
I'm going to follow this up with some simple optimizations: caching local fields and simplifying access. That should narrow the performance gap.
2012-09-17 00:19:44 +00:00
Jesse Wilson
a0493b9732
New code that can split an AVL tree into two AVL trees.
...
This is in preparation for a new feature where LinkedTreeMap will have multiple roots, each in its own hash bucket.
2012-09-15 06:13:33 +00:00
Jesse Wilson
01bd0d92e2
Tests for LinkedTreeMap with incompatible keys.
2012-09-12 05:06:48 +00:00
Jesse Wilson
a6ab854302
Fix a bug where we were unlinking nodes that shouldn't have been unlinked.
...
Found by Guava's awesome collections test suite!
2012-09-12 04:41:58 +00:00
Jesse Wilson
93e38901df
Draft of LinkedTreeMap. Its ordered like a LinkedHashMap but it doesn't do any hashing for DoS resistance.
...
Not yet adopted in our code.
Known critical bugs:
- throws ClassCastException when get() is called with a non-comparable key
- throws NullPointerException on get(null)
2012-09-10 20:04:38 +00:00
Jesse Wilson
084047d80b
Reintroduce string pooling in JsonReader.
...
This makes Hotspot slower. From my before/after measurements using ParseBenchmark, times in microseconds:
TWEETS: 350 -> 370 (+6%)
READER_SHORT: 77 -> 76 (-1%)
READER_LONG: 870 -> 940 (+8%)
But it makes Dalvik faster by a greater margin. These before/after measurements use times in milliseconds:
TWEETS: 25 -> 20 (-20%)
READER_SHORT: 5.6 -> 4.7 (-16%)
READER_LONG: 52 -> 47 (-10%)
It's a net win because we're saving a greater fraction of time, and because we're helping the platform that needs the most help. We're paying microseconds on Hotspot to gain milliseconds on Dalvik.
2012-09-10 16:13:33 +00:00
Inderjeet Singh
d1ff7bb397
Deleted spurious directory gson-codegen. The real codegen code is in trunk/codegen
2012-09-04 21:10:12 +00:00
Jesse Wilson
411c5c0b50
Follow up on r1197 and make deepCopy package-private. We don't want to use protected because some of the classes are non-final and protected shows up in the Javadocs.
2012-09-03 23:30:27 +00:00
Inderjeet Singh
a973837dd4
made deepCopy protected to eliminate it from the public API for now.
...
It will be in the subsequent release.
2012-09-03 08:34:37 +00:00
Jesse Wilson
8df7209074
Fix cut & paste issue in JsonToken Javadocs.
...
Fixes issue 463.
2012-09-02 21:29:30 +00:00
Jesse Wilson
b3b919770b
Change number parsing to use one big loop. This changes it to return JsonToken.STRING for very long (>8k digits) numbers.
2012-09-02 20:12:19 +00:00
Jesse Wilson
3920d95fac
rename peekedInteger to peekedLong
2012-09-02 17:46:02 +00:00
Jesse Wilson
8daf3aaeb4
Inline position computation. This is uglier but faster.
2012-08-28 03:52:18 +00:00
Jesse Wilson
46b73632b0
Fix a bug where we weren't reading enough characters when a BOM was encountered.
2012-08-28 01:48:25 +00:00
Jesse Wilson
980796005f
Use a conventional for loop in nextQuotedValue() to make hotspot's job easier.
2012-08-27 04:42:39 +00:00
Jesse Wilson
bdf2cac6d4
Replace switch with if/else when processing whitespace. If/else is faster!
2012-08-27 04:17:29 +00:00
Jesse Wilson
b0a172944a
More number parsing improvements.
2012-08-27 03:17:41 +00:00
Jesse Wilson
448063dde1
Fix a goof in number parsing.
2012-08-27 03:07:20 +00:00
Jesse Wilson
4c2980e6ff
Fix a bug in integer parsing.
2012-08-27 02:34:52 +00:00
Jesse Wilson
c7cb503cdb
Restore fast skips.
...
document api ns linear runtime
TWEETS GSON_STREAM 397568 =========
TWEETS GSON_SKIP 300058 =======
READER_SHORT GSON_STREAM 76632 =
READER_SHORT GSON_SKIP 57796 =
READER_LONG GSON_STREAM 894690 =====================
READER_LONG GSON_SKIP 565114 =============
2012-08-27 01:17:50 +00:00
Jesse Wilson
085856c128
Don't leave the JsonReader in an invalid state if nextInt(), nextDouble() or nextLong() fails. We now save a reference to the string before we parse it, and keep that referenced value if parsing fails.
2012-08-26 22:06:57 +00:00
Jesse Wilson
e7bfd0c97d
Promote JsonReader2 to be the main JsonReader implementation.
2012-08-26 19:34:46 +00:00
Jesse Wilson
553fa6b742
Prepare to replace JsonReader with JsonReader2
2012-08-26 19:33:49 +00:00
Jesse Wilson
b96d2d9837
Support non-execute prefixes.
2012-08-26 19:31:06 +00:00
Jesse Wilson
97cb326ad2
Delete an old version of the rewritten JsonReader
2012-08-26 04:04:22 +00:00
Jesse Wilson
46b4346505
Get JsonReader2 to the point that it's passing most tests.
...
Still missing:
- non-execute prefixes
- rolling back 'pos' when a double fails to parse
- octal prefix failures
2012-08-26 04:02:09 +00:00
Jesse Wilson
c5c65ba626
Add an experimental rewrite of JsonReader.
...
The motivating difference is that JsonReaderV2 tries to read each character at most once. This means that when it reads literals, it also attempts to decode them to a keyword (true/false/null) or a number.
This change also _doesn't_ read strings until demanded to do so. This should permit streaming access to strings down the road.
This code is not yet complete, nor is has it been properly optimized. And the implementation is also quite a mess! It is a work in progress.
2012-08-25 04:31:56 +00:00
Jesse Wilson
9c4b23b39a
JsonObject.deepCopy() for Gson.
2012-08-21 01:19:43 +00:00
Jesse Wilson
1a4f690335
Regretfully enable serialization for StringMap and LazilyParsedNumber.
...
One of our favorite users (my employer!) is stuck in a sad situation where they need to serialize objects returned from Gson; this is a workable escape hatch.
2012-08-15 14:58:26 +00:00
Jesse Wilson
35c13173b0
Switch on ints rather than enums in JsonReader.
...
Using enums was triggering this Android bug:
http://code.google.com/p/android/issues/detail?id=36349
2012-08-14 21:32:18 +00:00
Inderjeet Singh
7d901d34fb
Beginning of a simple test related to codegen.
2012-08-02 01:35:45 +00:00
Jesse Wilson
3be354eb76
APT hello world. This generates an empty class for each class annotated @GeneratedTypeAdapter.
2012-08-01 22:58:04 +00:00
Inderjeet Singh
8cc703ed21
Added Gson dependency
2012-08-01 22:09:59 +00:00
Inderjeet Singh
6aad250f47
Initial creation of the codegen project
2012-08-01 22:06:29 +00:00
Inderjeet Singh
42e35e9f90
updated oss-parent version to 7 in gson-extras pom.
...
fixed some eclipse warnings.
2012-08-01 20:57:51 +00:00
Inderjeet Singh
982c893d65
updated extras pom to latest plugin versions.
...
updated organization names for Jesse and Inder.
2012-08-01 20:54:37 +00:00
Jesse Wilson
f406d3cf89
Don't fall back when we're already in the slow case.
2012-07-10 23:45:20 +00:00
Jesse Wilson
4aaa4bf20c
StringMap was suffering because the string's hashCode was not cached. Address this by preferring the regular String.hashCode until hash collision problems start to occur.
2012-07-10 18:46:01 +00:00
Inderjeet Singh
b36bedb423
Javadocs for 2.2.2
2012-07-03 01:09:24 +00:00
Inderjeet Singh
33de25f9fe
[maven-release-plugin] prepare for next development iteration
2012-07-03 00:44:56 +00:00
Inderjeet Singh
66cb689aae
[maven-release-plugin] prepare release gson-2.2.2
2012-07-03 00:44:47 +00:00
Inderjeet Singh
f412d7ede2
changed version to 2.2.2-SNAPSHOT
2012-07-03 00:31:00 +00:00
Inderjeet Singh
b946a229b6
deleted unused field.
2012-07-03 00:28:55 +00:00
Jesse Wilson
4816941f0d
Address code review comments on r1154
2012-07-02 20:32:38 +00:00
Inderjeet Singh
ae9e63fc54
using ${project.version} in MANIFEST.MF instead of hardcoding version numbers.
2012-07-02 19:20:35 +00:00
Inderjeet Singh
ccaf531b36
Updated version to 2.3 in Export-Package
2012-07-02 19:17:50 +00:00