Joel Leitch
457b37f08e
Replace var-args with single parameter.
2011-04-11 18:09:59 +00:00
Inderjeet Singh
6b55f071ba
enabled PGP signing when using maven to perform a release.
2011-04-10 00:23:39 +00:00
Joel Leitch
854b92a78f
Comments from r789
2011-04-07 18:00:12 +00:00
Inderjeet Singh
4bd261ae06
Made FieldNamingStrategy2 and its corresponding builder method package-private.
2011-04-07 17:41:35 +00:00
Inderjeet Singh
c15f570c72
Added a warning in the documentation of the internal package.
2011-04-06 01:08:12 +00:00
Inderjeet Singh
05ae10a144
removed the constructor in FieldAttributes that was only used in tests.
2011-04-06 00:51:01 +00:00
Joel Leitch
ddb0c8c825
Minor formatting fixes.
2011-04-06 00:43:57 +00:00
Inderjeet Singh
7afda06253
Added warning in GsonBuilder regarding setting date format correctly.
2011-04-06 00:35:05 +00:00
Inderjeet Singh
c8bd121db2
Renamed $Preconditions to $Gson$Preconditions and $Types to $Gson$Types.
...
Marked the two private classes in $Types as final.
2011-04-06 00:26:57 +00:00
Inderjeet Singh
8d3bfc0f47
Marked the getTypeInfoForField() method package private as it was inadvertently marked public.
...
Removed commented out code in pom.xml that is now obsoleted with sonatype syncing.
2011-04-06 00:13:31 +00:00
Joel Leitch
b4eb810347
Comments for r766.
2011-04-06 00:02:40 +00:00
Joel Leitch
52bf144859
Comments for r767
2011-04-05 23:57:13 +00:00
Joel Leitch
dc283e1121
Fixed comments from r774.
2011-04-05 23:36:05 +00:00
Joel Leitch
944081327b
More very minor cleanup.
2011-04-04 23:18:25 +00:00
Joel Leitch
f36c1bc222
Very minor cleanup.
2011-04-04 23:17:43 +00:00
Joel Leitch
7c42ef3e5d
Update incomplete comment.
2011-04-04 23:16:44 +00:00
Joel Leitch
2fb8c92812
Use more specific type for map serialization if possible.
2011-04-04 23:13:31 +00:00
Inderjeet Singh
50b4e3f4b9
Using getElement() instead of get() to get proper synchronization.
2011-04-04 23:00:19 +00:00
Inderjeet Singh
542a17c3bc
Incorporated comments from r710
2011-04-04 22:48:34 +00:00
Inderjeet Singh
56b7ab1b71
Incorporated feedback from r718
2011-04-04 22:23:51 +00:00
Inderjeet Singh
feb9617bf0
Incorporated comments from r726
2011-04-04 22:09:51 +00:00
Inderjeet Singh
a147164852
incorporated feedback on r721
2011-04-04 21:43:24 +00:00
Inderjeet Singh
1a9a54dcc2
incorporated review comments from r768
2011-04-04 21:27:37 +00:00
Joel Leitch
21ddfc9b12
Show default serialization and deserialization works with subclasses of an enum type.
2011-04-04 19:19:46 +00:00
Joel Leitch
5af0b16641
Updating Map tests.
2011-04-04 19:07:20 +00:00
Inderjeet Singh
bf4ab04413
replaced multiple caches in ReflectingFieldNavigator with a single one.
...
Two additional optimizations:
- storing the field list for the entire type hierarchy in the cache instead of navigating it every time.
- storing the resolved type for the field in FieldAttributes instead of using reflection every time.
2011-04-01 23:54:41 +00:00
Inderjeet Singh
9c894c7485
switched from accessing field to an accessor method for access in tests.
...
Strangely, this fixes the broken tests in the continuous build.
2011-03-31 18:57:55 +00:00
Inderjeet Singh
5bc80cd693
Moved Cache, LruCache, Pair, Primitives and UnsafeAllocator to com.google.gson and made them package private.
2011-03-30 13:59:06 +00:00
Jesse Wilson
46a8e9b411
Test to demonstrate that we've fixed issue 302.
...
http://code.google.com/p/google-gson/issues/detail?id=302
2011-03-29 21:48:03 +00:00
Inderjeet Singh
523f489863
Got rid of an unneeded method.
2011-03-29 21:38:08 +00:00
Jesse Wilson
f718784f33
Use the date format for java.sql.Date and java.sql.Timestamp.
...
Fixes issue 230.
2011-03-29 21:36:19 +00:00
Jesse Wilson
4efb133b4a
bling bling
...
Prefix internal classes with $ to prevent them from interfering with IDE's auto import functionality.
2011-03-29 21:24:26 +00:00
Joel Leitch
5e74dabad9
Re-use Preconditions instead of re-writing them here.
2011-03-29 21:18:27 +00:00
Jesse Wilson
9bcb0c0b6b
Use the internal copy of preconditions
2011-03-29 21:13:31 +00:00
Joel Leitch
454f58a7b1
Adding in instance creator to instantiate the concrete Collection or Map class if known, otherwise fallback to a default instance.
...
Also, added some caching as part of the default constructor lookups.
2011-03-29 16:57:28 +00:00
Inderjeet Singh
ad921a0ee8
removed unused variable. eliminated unnecessary ObjTypePair creation.
2011-03-24 22:37:03 +00:00
Inderjeet Singh
4d9bec2206
Caching inheritance hierarchy for a type to reduce performance impact of reflection.
2011-03-24 22:28:45 +00:00
Inderjeet Singh
4a58dc3e2a
Moving AccessibleObject.setAccessible to where the fields are obtained by reflection.
2011-03-24 22:16:25 +00:00
Inderjeet Singh
0adf7f5e17
Caching fields for a class for reducing the need for reflection.
2011-03-24 22:13:51 +00:00
Inderjeet Singh
337d89cf3f
Removed ObjectNavigatorFactory
2011-03-24 20:19:41 +00:00
Inderjeet Singh
b51ffc1060
Removed eclipse warnings about missing overrides and declared exceptions that are never thrown.
2011-03-24 20:08:56 +00:00
Inderjeet Singh
13dc7b6f02
Made ObjectNavigator a reusable object. We now use just one instance of ObjectNavigator instead of creating one for each field/object.
2011-03-24 18:41:45 +00:00
Inderjeet Singh
b819307de8
refactored the field navigation using reflection out of ObjectNavigator.
2011-03-24 18:28:23 +00:00
Inderjeet Singh
005c93e383
removed unused no-args constructors
2011-03-23 18:48:03 +00:00
Inderjeet Singh
6d3e0e92a5
Added a cache for no-args constructors to avoid expensive reflection everytime an object needs to be instantiated.
2011-03-23 18:31:39 +00:00
Joel Leitch
861e047a62
Create an "internals" package for classes that we do not want to share, but is needed across multiple pacakges.
...
As well, move non-Gson specific classes, such as Preconditions, to this new "internals" package.
2011-03-21 22:30:35 +00:00
Jesse Wilson
657688ca79
Test that the date format is honored, even in a collection.
...
http://code.google.com/p/google-gson/issues/detail?id=230
2011-03-21 22:10:33 +00:00
Jesse Wilson
e96b241556
Test that we can serialize classes whose fields are concrete collections.
2011-03-21 21:49:38 +00:00
Joel Leitch
279c0e87ed
Update Precondition checks and have it throw a NPE instead.
2011-03-16 07:23:44 +00:00
Joel Leitch
7b223a8983
Adding JavaDoc to the enableComplexMapKeySerialization method on GsonBuilder.
2011-03-16 07:05:24 +00:00
Joel Leitch
a9507250f9
Add test for multiple calls to register complex map key serialization.
2011-03-15 15:41:19 +00:00
Joel Leitch
ba0cd254a9
Clean up warnings.
2011-03-15 15:38:17 +00:00
Joel Leitch
e57ef0908b
Add method to GsonBuilder to enable complex key serialization of maps.
2011-03-15 15:37:41 +00:00
Inderjeet Singh
0c35edab65
Fixed the bug where copyOf() for a ParameterizedTypeHandlerMap was failing when hierarchical type adapters for a sub class and its base class were present.
...
Fixed previously broken tests to verify the behavior that a hierarchical type adapter for a sub-class can be registered after registering a hierarchical type adapter for the base-class. The vice-versa is not allowed as it would result in hiding the sub-class hierarchical type adapter.
2011-03-14 23:22:50 +00:00
Jesse Wilson
912add0779
(Failing) test cases for registering competing types.
2011-03-14 22:14:35 +00:00
Jesse Wilson
ef7bd4c999
Don't document an API that we don't offer!
2011-03-14 21:50:14 +00:00
Inderjeet Singh
b489f4fb01
marked default type adapters as final classes
2011-03-11 22:20:39 +00:00
Inderjeet Singh
e26a6d5c18
removed the wrapping (regarding exception handling) of some primitive deserializers (numbers and boolean).
...
Added a number of additional tests that cover the cases of attempts to deserialize JsonObjects or arrays as primitives that must fail.
2011-03-11 22:14:18 +00:00
Jesse Wilson
43137b6b4f
Fix unsafe allocations on Android
2011-03-11 00:44:15 +00:00
Inderjeet Singh
28567508ea
Corrected Javadocs to indicate that NumberFormatException gets thrown instead of ClassCastException while attempting to convert a JsonPrimitive to a number.
2011-03-11 00:14:49 +00:00
Inderjeet Singh
baf9591d3b
Made constructors package private for package private classes.
2011-03-10 23:55:16 +00:00
Inderjeet Singh
4e4f9b3a69
Preconditions.checkState() now throws IllegalStateException instead of IllegalArgumentException. This will potentiallly break backwards compatibility.
...
Removed unhelpful message while constructing exceptions.
2011-03-10 23:19:58 +00:00
Inderjeet Singh
52288d7127
rawtypes -> unchecked
...
Fixed spurious eclipse warnings on deprecation, missing classes or parameters, etc.
2011-02-24 22:47:55 +00:00
Inderjeet Singh
4be9767a28
removed unused imports
2011-02-24 20:18:03 +00:00
Inderjeet Singh
d0b311747c
marked project files as UTF-8
2011-02-24 00:06:45 +00:00
Jesse Wilson
3d006c90a2
equals & hashCode for subclasses of JsonElement.
...
Resolves issue 64.
2011-02-15 00:14:20 +00:00
Joel Leitch
4c41b11fce
Comments from r723.
2011-02-14 22:26:17 +00:00
Joel Leitch
69661216a3
Minor clean-up of warnings (in 1.5) and added new test for non-Empty maps.
2011-02-11 18:22:58 +00:00
Joel Leitch
451a9dbe66
Add ability to allocate memory for an object without the use of the default constructor.
2011-02-11 18:22:07 +00:00
Jesse Wilson
b649f2768c
Support unquoted single word strings in lenient mode!
...
Fixes issue 282.
2011-02-10 01:36:27 +00:00
Jesse Wilson
6e81cfdbb4
Locale-awareness for date parsing and formatting:
...
- always format in en_US for best interchange
- always parse in en_US, system locale and ISO-8601
2011-02-10 01:06:22 +00:00
Joel Leitch
114633fbf9
Provide a means to add serialization or deserialization specific exclusion strategies.
2011-02-04 03:09:41 +00:00
Inderjeet Singh
ea48a1debf
Fixed issue 175 by adding default type adapters for StringBuilder and StringBuffer.
2011-01-31 23:14:02 +00:00
Inderjeet Singh
a09c3ab1c5
Added tests to validate issue 272. The tests currently pass so it is not a valid bug.
2011-01-24 22:40:42 +00:00
Joel Leitch
56aa828350
Minor clean-up in Gson class.
2011-01-22 22:43:43 +00:00
Joel Leitch
fb7bd7b1b7
Deprecate the old FieldNamingStrategy interface and open up the FieldNamingStrategy2 instead to take its place.
2011-01-22 22:27:30 +00:00
Joel Leitch
b883f8f4aa
Add new "Mode" enum and carry mode through Gson so exclusion strategies know whether it is currently serializing or deserializing.
...
Deprecate old ExclusionStrategy code since this new approach is more powerful.
2011-01-22 22:15:06 +00:00
Inderjeet Singh
2b9f81e8b5
Registering default type hierarchy adapters first and allow users to override them.
...
This allows the default EnumTypeAdapter to be overridden for a specific hierachy adapter for Enum with anonymized sub-classes.
2011-01-19 23:28:28 +00:00
Jesse Wilson
fd0f526fb0
Basic functional test for type hierarchy adapter.
2011-01-19 23:25:27 +00:00
Jesse Wilson
a526da7cdd
Tests that demonstrate that type variables work.
...
Fixes issue 168.
2011-01-19 22:24:10 +00:00
Inderjeet Singh
edc71130c4
removed unneeded suppression of warnings.
2011-01-19 07:34:44 +00:00
Inderjeet Singh
b3685cff1e
added version numbers to various plugins.
...
replaced now deprecated ${version} with ${project.version}
2011-01-18 23:03:58 +00:00
Inderjeet Singh
9a792a9952
added tagbase to maven release plugin in POM
2011-01-18 22:52:45 +00:00
Inderjeet Singh
ce3520f5b5
disabling an assert that was causing failed test.
...
Per Jesse, this assertion is too difficult to support reliably.
2011-01-13 07:35:11 +00:00
Jesse Wilson
37dc0f8d3e
Type adapter for maps. Supports both complex and non-complex keys.
2011-01-12 00:17:21 +00:00
Joel Leitch
bd3e680f94
Fixing rollback.
2011-01-11 22:24:14 +00:00
Joel Leitch
fa7f8cc2eb
Rolling back test deletion.
2011-01-11 22:21:41 +00:00
Joel Leitch
439d931c5a
Removing unused methods on Cache and synchronizing it since FieldAttributes contains a static instance of this type.
2011-01-10 23:20:37 +00:00
Joel Leitch
1e2fbd81f5
Adding default type adapter for InetAddress.
2011-01-10 23:03:48 +00:00
Joel Leitch
3926afbd30
Removing unused files with the new Types class.
2011-01-10 22:47:42 +00:00
Inderjeet Singh
0e5f6704cd
Added sonatype oss as parent for the pom. Diabled repository management with-in POM per instructions at: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
2011-01-10 22:47:36 +00:00
Inderjeet Singh
25f0014305
Added SNAPSHOT tag.
...
Added Google as organization and Jesse Wilson as developer.
2011-01-10 22:36:24 +00:00
Inderjeet Singh
8380d28e6f
removed compiler warnings
2010-12-06 19:47:41 +00:00
Jesse Wilson
883ce465d5
Second half of adopting Guice's types code.
...
This removes a bunch of unnecessary public APIs and looks more like the GSON code that existed before this whole exercise. We no longer use TypeToken.isAssignable. I wrote a test that demonstrates at least one problem with that method, so I've deprecated it. We should be able to remove it release-after-next; nobody should be using this method anyway.
There are still some things that are public that shouldn't be. In particular there's some APIs in Types that are needed by TypeToken, which is unfortunately in a different package. Traditionally the fix is to create an 'internal' package and make the shared code public in the internal package. I'm not sure what we want to do for GSON; we could also use reflection (yuck) or duplicate the code (yuck).
2010-12-03 18:12:26 +00:00
Jesse Wilson
d1ddab2e6f
Swap out GSON's type mechanics with the Type resolution code from Guice.
...
The most significant impact of this change is that fields whose types are type parameters should now GSONify just fine. For example, consider the class below.
abstract class Foo<A, B> {
A a;
B b;
List<A> list;
Map<A, List<B>> map;
}
class RealFoo extends Foo<String, Integer> {...}
This is a reasonable checkpoint but some work still needs to be done for this. In particular, the level of visibility of methods in TypeToken and Type should be reconsidered; we're exposing more than we need to!
2010-12-03 08:07:13 +00:00
Inderjeet Singh
faa5464e84
updated current version to 1.7. Added stream package to OSGI. Added maven-changes-plugin.
2010-11-25 20:00:38 +00:00
Inderjeet Singh
5be830835d
Added report for subversion changelogs
2010-11-25 15:15:41 +00:00
Inderjeet Singh
9f5aa1772b
added reports on TODO tags
2010-11-25 15:07:44 +00:00
Inderjeet Singh
6818edecf9
enabled GsonBuilder.registerTypeHierarchyAdapter since head is now for Gson 1.7
2010-11-25 00:16:06 +00:00
Inderjeet Singh
e061d0e563
Added findbugs reporting in maven pom.xml
2010-11-25 00:14:49 +00:00
Jesse Wilson
90e7de92df
New Javadocs for 1.6
2010-11-24 23:41:30 +00:00
Jesse Wilson
1672d2cfe0
Removing GSON 1.5 javadocs
2010-11-24 23:40:29 +00:00
Jesse Wilson
1c5f5132d8
Revert most of r677: Required strings to be quoted even in lenient mode. As far as Inderjeet and I can tell, this is consistent with Gson 1.5.
2010-11-24 23:22:13 +00:00
Inderjeet Singh
d87eed510b
Fixed compilation problem since we dropped registerTypeHierarchyAdapter method
2010-11-24 23:14:30 +00:00
Inderjeet Singh
db3f19e881
dropping GsonBuilder.registerTypeHierarchyAdapter() from 1.6 release.
2010-11-24 23:13:29 +00:00
Inderjeet Singh
98ff894863
removed unnecessary else clause.
2010-11-22 23:14:51 +00:00
Joel Leitch
56344cf067
Remove duplicate test.
2010-11-16 22:18:28 +00:00
Joel Leitch
0a3f5fa801
Required strings to be quoted even in lenient mode.
...
As far as Inderjeet and I can tell, this is consistent with Gson 1.5.
2010-11-16 22:14:40 +00:00
Inderjeet Singh
279649986e
Added a test to ensure that Gson handles repeated invocation of itself correctly.
...
Revised proto maven configuration to use Gson 1.6
2010-11-15 22:56:01 +00:00
Inderjeet Singh
520259fefa
removed eclipse warnings.
2010-11-12 19:21:16 +00:00
Joel Leitch
7d055fcb51
Fixing fromJson type casting.
2010-11-11 18:22:45 +00:00
Inderjeet Singh
eac1505670
Removed eclipse warnings about unneeded else statements and rawtypes/unchecked access.
2010-11-11 07:29:55 +00:00
Joel Leitch
32afd1a4e4
Fixing parsing of unquoted strings to be (somewhat) consistent with previous versions of Gson. The difference with this version is that Gson will throw a more specific exception rather than JsonParseException.
2010-11-10 02:02:57 +00:00
Jesse Wilson
103edb9c36
Don't return null on an unexpected EOF unless the document is empty. This brings us back to compatibility with GSON 1.5.
2010-11-08 19:16:05 +00:00
Jesse Wilson
4d0cd67cde
Addressing code review feedback from r585 and r648.
2010-11-08 01:22:21 +00:00
Joel Leitch
6a951b427e
Adding new tests (two of which are disabled, but prepping for 1.7).
2010-11-05 22:57:44 +00:00
Joel Leitch
f6a332971f
Warning fixes.
2010-11-05 22:47:13 +00:00
Inderjeet Singh
f4098b5cf7
implemented feedback from r585
2010-11-05 22:18:35 +00:00
Inderjeet Singh
c3bae2d35e
incorporating code review comments from r648
2010-11-05 21:51:29 +00:00
Jesse Wilson
832257234d
New overloads for constructing MalformedJsonException
2010-11-05 20:58:41 +00:00
Joel Leitch
bdf5bef887
Fix JavaDoc on JsonSyntaxException
2010-11-05 20:34:27 +00:00
Inderjeet Singh
0b4bf7706a
Changed JsonParser API to throw specific JsonIOException,JsonSyntaxException instead of the general JsonParseException
2010-11-05 20:31:52 +00:00
Inderjeet Singh
7b99419aea
Removed compiler warnings.
2010-11-03 23:14:42 +00:00
Inderjeet Singh
10db917e93
Updated fromJson and toJson signatures to indicate the kind of exceptions (JsonIOException, JsonSyntaxException) that can be thrown.
2010-11-03 19:46:29 +00:00
Inderjeet Singh
83539c534c
removed compiler warnings.
...
Added default serial version id for MalformedJsonException.
2010-11-03 13:28:09 +00:00
Inderjeet Singh
82a1a9511e
removed a System.out.println from a test.
2010-11-03 01:25:57 +00:00
Inderjeet Singh
200bccef21
Added tests for issue 249
2010-11-03 00:15:03 +00:00
Joel Leitch
c6a4f55d1a
Fix for Issue #40 .
2010-11-02 03:32:39 +00:00
Inderjeet Singh
a224bb1e2b
added serial version id
2010-11-01 23:16:03 +00:00
Inderjeet Singh
ad7bd1f465
removed unused JsonFormatter classes.
2010-11-01 23:10:09 +00:00
Jesse Wilson
dea7ab89fe
Restore pretty printing. The pretty printing format isn't as compact as the previous format - for example arrays of integers are printed one-per-line, whereas the previous format compacted these to all sit on the same line.
2010-11-01 23:03:41 +00:00
Inderjeet Singh
43f2a0012b
Removed JavaCC parser definition and its generated classes.
2010-11-01 22:57:39 +00:00
Inderjeet Singh
abe244c099
renamed com.google.gson.stream.JsonSyntaxException to MalformedJsonException.
...
Throwing JsonSyntaxException instead of JsonParseException where we can detect a syntax error.
2010-11-01 22:48:52 +00:00
Jesse Wilson
c8c3a6965c
Fix a regression that expects different type adapters for long.class and Long.class. This is a temporary fix; later we may want to always use the canonical wrapped class.
2010-11-01 22:46:20 +00:00
Jesse Wilson
20d895ff95
Fix primitive wrapping and casting.
...
Issue: 235
2010-11-01 22:36:30 +00:00
Joel Leitch
d0977c2e3a
Exposing the declaring class for the field wrapped by FieldAttributes.
2010-11-01 22:31:48 +00:00
Inderjeet Singh
7127be7965
Updated the OSGi descriptor to 1.6
2010-11-01 22:12:58 +00:00
Inderjeet Singh
7ea5cc2b36
Added a new JsonSyntaxException to indicate syntax errors in Gson.
2010-11-01 17:53:31 +00:00
Jesse Wilson
d9feb90593
Small cleanup of exception conversion.
2010-10-31 04:58:23 +00:00
Jesse Wilson
b2005299e4
Make JsonSyntaxException public, so clients can differentiate between IO problems and malformed JSON.
2010-10-30 21:32:08 +00:00
Inderjeet Singh
2b993d83b6
Made the GsonBuilder registerTypeHierarchyAdapter a public method.
...
Updated the Gson version number to 1.6 and added @since tag for the new classes
2010-10-27 23:53:09 +00:00
Inderjeet Singh
9b10e70a79
Removed the version numbers from the plugin configuration of pom.xmls. This ensures that the latest version of the plugins gets downloaded and used while building a project.
2010-10-25 23:09:24 +00:00
Inderjeet Singh
d3eda04f33
Added support for deserializing from null input to a null value.
...
Added toString() method to ObjectTypePair.
2010-10-22 16:06:59 +00:00
Inderjeet Singh
91bee2a688
Throwing JsonIOException on write failures
2010-10-18 23:58:09 +00:00
Inderjeet Singh
18a9205a04
Added an exception class to indicate IO Errors.
2010-10-18 23:54:09 +00:00
Inderjeet Singh
2b1f3eec15
Removed a bunch of unused code and unnecessary else statements.
2010-09-28 13:42:43 +00:00
Jesse Wilson
4c53c0640e
Exhaustive test coverage for mixed streaming & binding.
2010-09-03 07:24:59 +00:00
Jesse Wilson
4e28bf3a39
Check in a passing test for issue 204.
2010-09-03 06:44:41 +00:00
Jesse Wilson
202bbfeef0
Fixing the Java 1.5 build.
2010-09-02 09:29:26 +00:00
Jesse Wilson
747e3c3051
Support mixed streaming and databinding with new APIs.
2010-09-02 00:15:23 +00:00
Jesse Wilson
ffdf0e7012
Fix some test problems.
...
JsonWriter was using suboptimal escape characters for newlines etc: unicode escapes rather than \x escapes.
JsonObjectTest was banning empty and whitespace-only keys. These values are permitted as of r585.
2010-09-02 00:10:26 +00:00
Jesse Wilson
fa40b4c63a
Rename GsonReader to Streams; check that class in.
2010-09-02 00:10:02 +00:00
Jesse Wilson
78d1011ec5
Test escaping HTML characters!
2010-09-02 00:03:18 +00:00
Jesse Wilson
486820f515
Fix some test problems.
...
JsonWriter was using suboptimal escape characters for newlines etc: unicode escapes rather than \x escapes.
JsonObjectTest was banning empty and whitespace-only keys. These values are permitted as of r585.
2010-08-28 08:18:13 +00:00
Jesse Wilson
ff7aa3f331
Escape only the required characters when emitting JSON. This means that instead of emitting
...
["foo\nbar", "baz"]
we'll emit this:
["foo
bar", baz"]
This simple change measured about ~35% faster for in-memory writes!
2010-08-28 07:29:22 +00:00
Jesse Wilson
7e1e4eab07
Remove the constraint that map keys mustn't be the empty string.
...
See bug 227.
2010-08-28 05:02:33 +00:00
Jesse Wilson
69ecb9465a
Test case demonstrating that issue 212 is fixed. We got comment parsing support for free when we switched to JsonReader.
2010-08-27 07:33:33 +00:00
Jesse Wilson
d5741b321f
Don't exclude enum constants, even if they are anonymous.
...
See issue 226.
2010-08-27 07:26:35 +00:00
Jesse Wilson
eb7b1e4ac7
Test attempting (and failing) to reproduce issue 215.
2010-08-27 07:10:00 +00:00
Jesse Wilson
7a7bbf754c
Use JsonReader internally rather than JsonParserJavacc.
...
For raw parsing (ie. new JsonParser().parse()) the parse time has improved substantially. For example, JsonParserJavacc parsed my 48KiB buzz feed in 4.8ms. JsonReader parses the same feed in 0.9ms.
http://microbenchmarks.appspot.com/run/limpbizkit@gmail.com/com.google.gson.GsonBenchmark/430001
2010-08-27 05:59:18 +00:00
Jesse Wilson
765a9f1ecd
Brand new classes for streaming JSON efficiently.
...
Notable features:
- Efficiency. The parser is faster than the current javacc parser. It's also faster than popular libraries for JSON streaming.
- Toggle lenient/strict
- Toggle pretty/compact
- Friendly error messages on bad JSON
- GSON-quality Javadoc
- Non-execute prefix handling
This doesn't wire JsonReader up into Gson just yet. That's coming soon...
2010-08-26 08:44:02 +00:00
Joel Leitch
5bffa1f679
Fix for Issue 178.
2010-08-21 06:50:52 +00:00
Joel Leitch
3fc4bcc061
Minor test fixes. Explicitly fail test if the expected exception was not thrown.
2010-08-21 03:19:17 +00:00
Inderjeet Singh
de0f8da151
replaced unchecked suppressed warnings token with more specific rawtypes.
...
removed unused imports.
2010-08-20 16:27:46 +00:00
Inderjeet Singh
ed838ec104
replaced unchecked suppressed warnings token with more specific rawtypes
2010-08-20 16:20:37 +00:00
Jesse Wilson
bc5b836103
Test demonstrating a bug reported in issue 182, wherein malformed JSON is emitted when an property name contains a double-quote.
2010-08-20 05:45:51 +00:00
Jesse Wilson
8b5cc3256d
Test demonstrating a bug reported in issue 178, wherein malformed JSON is emitted when a map key contains a double-quote.
2010-08-20 05:43:17 +00:00
Inderjeet Singh
cb6de44b56
Javadocs for Gson 1.5
2010-08-20 01:12:27 +00:00
Inderjeet Singh
24fd66f645
removed @since for non-public classes
2010-08-20 00:35:48 +00:00
Inderjeet Singh
dc60cb1931
Made FieldNamingStrategy2 is package protected class.
...
Made type hierarchy adapter registration package protected.
Marked some of the classes final.
Minor changes in the performance tests.
2010-08-19 00:10:42 +00:00
Joel Leitch
89c18452ae
Ensure date with pattern is not override with the "default" date type adapter when a custom JsonSerializer/JsonDeserializer is registered.
2010-08-18 23:58:52 +00:00
Inderjeet Singh
c3f61ee5ad
Added a test to reproduce bug described in http://groups.google.com/group/google-gson/browse_thread/thread/9591c539e3c19d59
...
Seems like an invalid bug report as Gson can deserialize primitive values in Integer fields.
2010-07-19 23:32:24 +00:00
Inderjeet Singh
b2af57d288
Added checks to ensure that typeHierarchyAdapter being registered doesn't hide a previously existing one.
...
Fixed a bug where registerIfAbsent was adding type adapters in the reverse order of priority.
Added toString() to Pair.
2010-06-24 21:51:18 +00:00
Inderjeet Singh
8aedbc84db
Added a new GsonBuilder option to register a type adapter for a type hierarchy instead of a single type.
...
Upgraded Gson version to 1.5 since a new API call is being added.
2010-06-21 23:26:06 +00:00
Inderjeet Singh
6728c742d2
Updated log statements to be localizable.
2010-06-15 20:40:12 +00:00
Joel Leitch
9cd72ca7fb
Add new tests with SerializedName annotation that contains a space in the name.
2010-05-28 02:13:11 +00:00
Joel Leitch
855a79a0f0
Stop generating the Parser class on mvn:compile or mvn:package.
2010-05-28 02:11:38 +00:00
Joel Leitch
ba0154867d
Add support to allow spaces in the JSON field name.
2010-05-26 17:40:19 +00:00
Joel Leitch
389f918bb8
Add new performance test for large objects (many fields).
2010-05-19 21:29:58 +00:00
Joel Leitch
9c7bfc677a
Allow cache size to be configured.
2010-05-19 20:47:27 +00:00
Joel Leitch
2610a2920d
Update Parser to add members to an JsonObject within a loop rather than a recursive call.
2010-05-19 20:44:27 +00:00
Joel Leitch
bf2a0e4e0b
Adding tests to ensure the adapter from the old to new naming strategy is working properly.
2010-01-10 03:27:59 +00:00
Joel Leitch
9816426bba
Add new Cache interface and LRU Cache implementation to cache field annotations per "Class" (rather than per instance). This results in a significant speed-up (approx. 3X) when serializing/deserializing the same classes over and over again.
2010-01-10 00:32:21 +00:00
Joel Leitch
e6496fddd6
Update JavaDoc to link to the correct interface (FieldNamingStrategy2).
2010-01-09 22:48:53 +00:00
Joel Leitch
e3af076ff2
Deprecate the FieldNamingStrategy interface and replace it with FieldNamingStrategy2. This is the first step to help make it easy to cache field annotations across all instances of a class, etc.
2010-01-09 22:43:27 +00:00
Inderjeet Singh
7079799890
Fixed issue 167 by adding support for TreeSet deserialization. Added tests for serialization/deserialization of treesets.
2010-01-08 19:14:42 +00:00
Inderjeet Singh
058f7344db
Revised the setup for date/time tests to use PST time-zone. This fixes bug 184 by ensuring that tests are run in PST time-zone.
2010-01-08 18:53:39 +00:00
Inderjeet Singh
15fa10943c
Fixed serializers and deserializers for java.sql Date and Time to ensure that Date does't serialize time, and time does't serialize the date portion.
2009-12-04 18:15:00 +00:00
Inderjeet Singh
ebf24fbda5
Fixed issue 134 by adding support for java.sql Date and Timestamp classses.
2009-12-04 01:21:13 +00:00
Joel Leitch
c329d020b9
Make some fields final and initialize immediately.
2009-12-03 23:13:39 +00:00
Joel Leitch
33e816dcf0
More lazy initialization done for FieldAttributes.
2009-12-03 22:28:58 +00:00
Joel Leitch
641390b1a1
Lazily initialize fields in FieldAttributes to prevent multiple Java reflection invocations.
2009-12-03 22:17:39 +00:00
Inderjeet Singh
610580b8d9
exposed final fields of Pair for fast access. Pair is used quite a bit during serialization because of its use in ref stack.
2009-12-03 20:58:22 +00:00
Inderjeet Singh
fff9147988
Added some tests to measure serialization and deserialization performance of Gson based on the discussion in http://groups.google.com/group/google-gson/browse_thread/thread/7a50b17a390dfaeb
...
Surprising just marking a field as exposed halves the performance.
2009-10-20 00:04:34 +00:00
Joel Leitch
015d2016c5
Last JavaDoc Update missed adding the new files.
2009-10-09 23:55:54 +00:00
Joel Leitch
be2631e835
Updating JavaDocs
2009-10-09 23:49:13 +00:00
Joel Leitch
102f8b3a71
Adding a few more assert to the InstanceCreatorTest to ensure that the default values are set for sub class fields.
2009-10-09 21:23:51 +00:00
Joel Leitch
d87d3f807f
Added functional tests for user defined exclusion strategy.
...
Added test to ensure empty/null properties are added for the JsonObject.
2009-10-09 21:12:07 +00:00
Inderjeet Singh
bc1e5c5c99
Ensured that custom deserializer is invoked with actual type returned for field values.
...
Fixed a bug where a top-level object was constructed with default values even when the custom deserializer tried to set it to null.
2009-10-09 19:41:33 +00:00
Inderjeet Singh
338758a0d3
implemented support for deserialization to deserialize to more specific type if an instance creator returns a sub-class.
2009-10-09 18:16:16 +00:00