jrjackson 0.3.9-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.__jrubyrc +433 -0
  3. data/.gitignore +10 -0
  4. data/.mvn/extensions.xml +8 -0
  5. data/Gemfile +10 -0
  6. data/Mavenfile +32 -0
  7. data/README.md +150 -0
  8. data/Rakefile +10 -0
  9. data/alt_bench.rb +46 -0
  10. data/changelog.md +131 -0
  11. data/jrjackson.gemspec +32 -0
  12. data/lib/com/fasterxml/jackson/core/jackson-annotations/2.7.1/jackson-annotations-2.7.1.jar +0 -0
  13. data/lib/com/fasterxml/jackson/core/jackson-core/2.7.1/jackson-core-2.7.1.jar +0 -0
  14. data/lib/com/fasterxml/jackson/core/jackson-databind/2.7.1/jackson-databind-2.7.1.jar +0 -0
  15. data/lib/com/fasterxml/jackson/module/jackson-module-afterburner/2.6.3/jackson-module-afterburner-2.6.3.jar +0 -0
  16. data/lib/com/fasterxml/jackson/module/jackson-module-afterburner/2.7.1/jackson-module-afterburner-2.7.1.jar +0 -0
  17. data/lib/jrjackson.rb +2 -0
  18. data/lib/jrjackson/build_info.rb +15 -0
  19. data/lib/jrjackson/jars/jrjackson-1.2.18.jar +0 -0
  20. data/lib/jrjackson/jars/jrjackson-1.2.7.jar +0 -0
  21. data/lib/jrjackson/jrjackson.rb +94 -0
  22. data/lib/jrjackson_jars.rb +7 -0
  23. data/lib/require_relative_patch.rb +6 -0
  24. data/pom.xml +193 -0
  25. data/profiling/profiled.rb +15 -0
  26. data/run_all_individual_bench.sh +25 -0
  27. data/run_jruby_individual_bench.sh +20 -0
  28. data/run_mri_individual_bench.sh +7 -0
  29. data/src/main/java/com/jrjackson/IParseHandler.java +53 -0
  30. data/src/main/java/com/jrjackson/JavaBigDecimalValueConverter.java +17 -0
  31. data/src/main/java/com/jrjackson/JavaBigIntValueConverter.java +17 -0
  32. data/src/main/java/com/jrjackson/JavaConverter.java +10 -0
  33. data/src/main/java/com/jrjackson/JavaFloatValueConverter.java +16 -0
  34. data/src/main/java/com/jrjackson/JavaHandler.java +118 -0
  35. data/src/main/java/com/jrjackson/JavaLongValueConverter.java +16 -0
  36. data/src/main/java/com/jrjackson/JjParse.java +147 -0
  37. data/src/main/java/com/jrjackson/JrJacksonBase.java +152 -0
  38. data/src/main/java/com/jrjackson/JrJacksonJava.java +81 -0
  39. data/src/main/java/com/jrjackson/JrJacksonRaw.java +108 -0
  40. data/src/main/java/com/jrjackson/JrJacksonRuby.java +89 -0
  41. data/src/main/java/com/jrjackson/JrJacksonSaj.java +26 -0
  42. data/src/main/java/com/jrjackson/JrJacksonSch.java +25 -0
  43. data/src/main/java/com/jrjackson/JrJacksonService.java +38 -0
  44. data/src/main/java/com/jrjackson/JrParse.java +149 -0
  45. data/src/main/java/com/jrjackson/ParseError.java +16 -0
  46. data/src/main/java/com/jrjackson/RubyAnySerializer.java +254 -0
  47. data/src/main/java/com/jrjackson/RubyBigDecimalValueConverter.java +18 -0
  48. data/src/main/java/com/jrjackson/RubyBigIntValueConverter.java +21 -0
  49. data/src/main/java/com/jrjackson/RubyConverter.java +12 -0
  50. data/src/main/java/com/jrjackson/RubyDateFormat.java +34 -0
  51. data/src/main/java/com/jrjackson/RubyFloatValueConverter.java +18 -0
  52. data/src/main/java/com/jrjackson/RubyHandler.java +119 -0
  53. data/src/main/java/com/jrjackson/RubyIntValueConverter.java +18 -0
  54. data/src/main/java/com/jrjackson/RubyJacksonModule.java +72 -0
  55. data/src/main/java/com/jrjackson/RubyKeyConverter.java +12 -0
  56. data/src/main/java/com/jrjackson/RubyNameConverter.java +9 -0
  57. data/src/main/java/com/jrjackson/RubyObjectDeserializer.java +182 -0
  58. data/src/main/java/com/jrjackson/RubyStringConverter.java +18 -0
  59. data/src/main/java/com/jrjackson/RubyStringKeyConverter.java +15 -0
  60. data/src/main/java/com/jrjackson/RubyStringNameConverter.java +12 -0
  61. data/src/main/java/com/jrjackson/RubySymbolKeyConverter.java +15 -0
  62. data/src/main/java/com/jrjackson/RubySymbolNameConverter.java +12 -0
  63. data/src/main/java/com/jrjackson/RubyUtils.java +150 -0
  64. data/src/main/java/com/jrjackson/SajParse.java +169 -0
  65. data/src/main/java/com/jrjackson/SchParse.java +209 -0
  66. data/src/main/java/com/jrjackson/StreamParse.java +66 -0
  67. data/test/jrjackson_test.rb +533 -0
  68. metadata +162 -0
@@ -0,0 +1,94 @@
1
+ unless RUBY_PLATFORM =~ /java/
2
+ puts "This library is only compatible with a java-based ruby environment like JRuby."
3
+ exit 255
4
+ end
5
+
6
+ require "jrjackson_jars"
7
+
8
+ require_relative "jars/jrjackson-1.2.18.jar"
9
+
10
+ require 'com/jrjackson/jr_jackson'
11
+ require 'bigdecimal'
12
+
13
+ module JrJackson
14
+ module Json
15
+ class << self
16
+ TIME_REGEX = %r(\A(\d{4}-\d\d-\d\d|(\w{3}\s){2}\d\d)\s\d\d:\d\d:\d\d)
17
+
18
+ def sj_load(handler, json_source, options = nil)
19
+ JrJackson::Saj.parse(handler, json_source, options)
20
+ end
21
+
22
+ def sc_load(handler, json_source, options = nil)
23
+ JrJackson::Sch.parse(handler, json_source, options)
24
+ end
25
+
26
+ def load_ruby(json_source, options = nil)
27
+ JrJackson::Ruby.parse(json_source, options)
28
+ end
29
+
30
+ def load_java(json_source, options = nil)
31
+ JrJackson::Java.parse(json_source, options)
32
+ end
33
+
34
+ def load(json_source, options = nil)
35
+ if json_source.is_a?(String) && is_time_string?(json_source)
36
+ return JrJackson::Raw.parse_raw("\"#{json_source}\"")
37
+ end
38
+
39
+ if options && !options.empty?
40
+ if options.size == 1 && !!options[:raw]
41
+ return JrJackson::Java.parse_raw(json_source, options)
42
+ end
43
+ if options.size == 1 && !!options[:symbolize_keys]
44
+ return JrJackson::Ruby.parse_sym(json_source, options)
45
+ end
46
+ if options.size == 2 && !!options[:raw] && !!options[:use_bigdecimal]
47
+ return JrJackson::Java.parse(json_source, options)
48
+ end
49
+ # JrJackson::Raw.parse(json_source, options)
50
+ JrJackson::Ruby.parse(json_source, options)
51
+ else
52
+ # JrJackson::Raw.parse_str(json_source)
53
+ JrJackson::Ruby.parse(json_source, nil)
54
+ end
55
+ end
56
+
57
+ def dump(object, options = {})
58
+ case object
59
+ when Hash, Array, String, ::Java::JavaUtil::Map, ::Java::JavaUtil::List
60
+ JrJackson::Base.generate(object, options)
61
+ when true, false
62
+ object.to_s
63
+ when nil
64
+ 'null'
65
+ else
66
+ if object.respond_to?(:to_json_data)
67
+ JrJackson::Base.generate(object, options)
68
+ elsif object.respond_to?(:to_json)
69
+ object.to_json
70
+ elsif object.respond_to?(:to_s)
71
+ object.to_s
72
+ else
73
+ object
74
+ end
75
+ end
76
+ end
77
+
78
+ alias :sc_parse :sc_load
79
+ alias :sj_parse :sj_load
80
+ alias :parse :load
81
+ alias :parse_ruby :load_ruby
82
+ alias :parse_java :load_java
83
+ alias :generate :dump
84
+
85
+ private
86
+
87
+ def is_time_string?(json_source)
88
+ json_source =~ TIME_REGEX
89
+ rescue => e
90
+ raise JrJackson::ParseError, e.message
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,7 @@
1
+ # this is a generated file, to avoid over-writing it just delete this comment
2
+ require 'jar_dependencies'
3
+
4
+ require_jar( 'com.fasterxml.jackson.core', 'jackson-core', '2.7.1' )
5
+ require_jar( 'com.fasterxml.jackson.module', 'jackson-module-afterburner', '2.7.1' )
6
+ require_jar( 'com.fasterxml.jackson.core', 'jackson-annotations', '2.7.1' )
7
+ require_jar( 'com.fasterxml.jackson.core', 'jackson-databind', '2.7.1' )
@@ -0,0 +1,6 @@
1
+ module Kernel
2
+ def require_relative(path)
3
+ require File.join(File.dirname(caller[0]), path.to_str)
4
+ end
5
+ end
6
+
data/pom.xml ADDED
@@ -0,0 +1,193 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+
5
+ DO NOT MODIFIY - GENERATED CODE
6
+
7
+
8
+ -->
9
+ <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
10
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
11
+ <modelVersion>4.0.0</modelVersion>
12
+ <groupId>com.jrjackson.jruby</groupId>
13
+ <artifactId>jrjackson</artifactId>
14
+ <version>1.2.18</version>
15
+ <name>A JRuby wrapper for the java jackson json processor jar</name>
16
+ <description>A mostly native JRuby wrapper for the java jackson json processor jar</description>
17
+ <url>http://github.com/guyboertje/jrjackson</url>
18
+ <licenses>
19
+ <license>
20
+ <name>Apache License 2.0</name>
21
+ </license>
22
+ </licenses>
23
+ <developers>
24
+ <developer>
25
+ <name>Guy Boertje</name>
26
+ <email>guyboertje@gmail.com</email>
27
+ </developer>
28
+ </developers>
29
+ <scm>
30
+ <connection>https://github.com/guyboertje/jrjackson.git</connection>
31
+ <url>http://github.com/guyboertje/jrjackson</url>
32
+ </scm>
33
+ <properties>
34
+ <netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform>
35
+ <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
36
+ <mavengem.wagon.version>0.2.0</mavengem.wagon.version>
37
+ <jruby.plugins.version>1.1.4</jruby.plugins.version>
38
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
39
+ </properties>
40
+ <dependencies>
41
+ <dependency>
42
+ <groupId>rubygems</groupId>
43
+ <artifactId>bundler</artifactId>
44
+ <version>[1.10,1.99999]</version>
45
+ <type>gem</type>
46
+ <scope>test</scope>
47
+ </dependency>
48
+ <dependency>
49
+ <groupId>rubygems</groupId>
50
+ <artifactId>jar-dependencies</artifactId>
51
+ <version>[0.3.2,2.0)</version>
52
+ <type>gem</type>
53
+ <scope>test</scope>
54
+ </dependency>
55
+ <dependency>
56
+ <groupId>rubygems</groupId>
57
+ <artifactId>ruby-maven</artifactId>
58
+ <version>[3.3.10,3.3.99999]</version>
59
+ <type>gem</type>
60
+ <scope>test</scope>
61
+ </dependency>
62
+ <dependency>
63
+ <groupId>com.fasterxml.jackson.core</groupId>
64
+ <artifactId>jackson-core</artifactId>
65
+ <version>2.7.1</version>
66
+ </dependency>
67
+ <dependency>
68
+ <groupId>com.fasterxml.jackson.core</groupId>
69
+ <artifactId>jackson-annotations</artifactId>
70
+ <version>2.7.1</version>
71
+ </dependency>
72
+ <dependency>
73
+ <groupId>com.fasterxml.jackson.core</groupId>
74
+ <artifactId>jackson-databind</artifactId>
75
+ <version>2.7.1</version>
76
+ </dependency>
77
+ <dependency>
78
+ <groupId>com.fasterxml.jackson.module</groupId>
79
+ <artifactId>jackson-module-afterburner</artifactId>
80
+ <version>2.7.1</version>
81
+ </dependency>
82
+ <dependency>
83
+ <groupId>junit</groupId>
84
+ <artifactId>junit</artifactId>
85
+ <version>4.11</version>
86
+ <scope>test</scope>
87
+ </dependency>
88
+ <dependency>
89
+ <groupId>org.jruby</groupId>
90
+ <artifactId>jruby</artifactId>
91
+ <version>9.0.5.0</version>
92
+ <scope>provided</scope>
93
+ </dependency>
94
+ </dependencies>
95
+ <repositories>
96
+ <repository>
97
+ <id>mavengems</id>
98
+ <url>mavengem:https://rubygems.org</url>
99
+ </repository>
100
+ </repositories>
101
+ <build>
102
+ <extensions>
103
+ <extension>
104
+ <groupId>org.torquebox.mojo</groupId>
105
+ <artifactId>mavengem-wagon</artifactId>
106
+ <version>${mavengem.wagon.version}</version>
107
+ </extension>
108
+ <extension>
109
+ <groupId>de.saumya.mojo</groupId>
110
+ <artifactId>gem-with-jar-extension</artifactId>
111
+ <version>${jruby.plugins.version}</version>
112
+ </extension>
113
+ </extensions>
114
+ <directory>${basedir}/pkg</directory>
115
+ <plugins>
116
+ <plugin>
117
+ <artifactId>maven-jar-plugin</artifactId>
118
+ <version>2.4</version>
119
+ <executions>
120
+ <execution>
121
+ <phase>prepare-package</phase>
122
+ <goals>
123
+ <goal>jar</goal>
124
+ </goals>
125
+ </execution>
126
+ </executions>
127
+ <configuration>
128
+ <outputDirectory>lib/jrjackson/jars</outputDirectory>
129
+ <finalName>jrjackson-1.2.18</finalName>
130
+ </configuration>
131
+ </plugin>
132
+ <plugin>
133
+ <artifactId>maven-clean-plugin</artifactId>
134
+ <version>2.4</version>
135
+ <configuration>
136
+ <filesets>
137
+ <fileset>
138
+ <directory>lib/jrjackson/jars</directory>
139
+ <includes>
140
+ <include>jrjackson-1.2.18.jar</include>
141
+ <include>*/**/*.jar</include>
142
+ </includes>
143
+ </fileset>
144
+ </filesets>
145
+ </configuration>
146
+ </plugin>
147
+ <plugin>
148
+ <groupId>de.saumya.mojo</groupId>
149
+ <artifactId>gem-maven-plugin</artifactId>
150
+ <version>${jruby.plugins.version}</version>
151
+ <configuration>
152
+ <gemspec>jrjackson.gemspec</gemspec>
153
+ </configuration>
154
+ </plugin>
155
+ <plugin>
156
+ <artifactId>maven-compiler-plugin</artifactId>
157
+ <version>3.1</version>
158
+ <configuration>
159
+ <source>1.7</source>
160
+ <target>1.7</target>
161
+ <showDeprecateion>false</showDeprecateion>
162
+ <showWarnings>false</showWarnings>
163
+ <executable>${JAVA_HOME}/bin/javac</executable>
164
+ <fork>true</fork>
165
+ </configuration>
166
+ </plugin>
167
+ <plugin>
168
+ <artifactId>maven-surefire-plugin</artifactId>
169
+ <version>2.17</version>
170
+ <configuration>
171
+ <skipTests>true</skipTests>
172
+ </configuration>
173
+ </plugin>
174
+ <plugin>
175
+ <groupId>org.torquebox.mojo</groupId>
176
+ <artifactId>jruby9-exec-maven-plugin</artifactId>
177
+ <version>0.3.1</version>
178
+ <executions>
179
+ <execution>
180
+ <id>vendor-jars</id>
181
+ <phase>prepare-package</phase>
182
+ <goals>
183
+ <goal>exec</goal>
184
+ </goals>
185
+ <configuration>
186
+ <script>require 'jars/installer';Jars::Installer.vendor_jars!</script>
187
+ </configuration>
188
+ </execution>
189
+ </executions>
190
+ </plugin>
191
+ </plugins>
192
+ </build>
193
+ </project>
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'jruby-prof'
3
+ require 'jrjackson_r'
4
+
5
+ js = %({"one":1,"two":"deux","three":[333.333,66.666]})
6
+
7
+ result = JRubyProf.profile do
8
+ JrJackson::Json.parse js
9
+ end
10
+
11
+ JRubyProf.print_flat_text result, "flat.txt"
12
+ JRubyProf.print_graph_text result, "graph.txt"
13
+ JRubyProf.print_graph_html result, "graph.html"
14
+ JRubyProf.print_call_tree result, "call_tree.txt"
15
+ JRubyProf.print_tree_html result, "call_tree.html"
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ chruby-exec ruby-2.2.2 -- ruby benchmarking/individual/json-mri-sourced.rb
4
+ chruby-exec ruby-2.2.2 -- ruby benchmarking/individual/oj-mri-sourced.rb
5
+
6
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/gson-jr-sourced.rb
7
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/json-jr-sourced.rb
8
+
9
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/string-jr-sourced.rb
10
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/str-bd-jr-sourced.rb
11
+
12
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/symbol-jr-sourced.rb
13
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/sym-bd-jr-sourced.rb
14
+
15
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/raw-jr-sourced.rb
16
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/raw-bd-jr-sourced.rb
17
+
18
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/sj-jr-sourced.rb
19
+
20
+ chruby-exec ruby-2.2.2 -- ruby benchmarking/individual/json-gen-mri-sourced.rb
21
+ chruby-exec ruby-2.2.2 -- ruby benchmarking/individual/oj-gen-mri-sourced.rb
22
+
23
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/json-gen-jr-sourced.rb
24
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/gson-gen-jr-sourced.rb
25
+ chruby-exec jruby-9.0.0.0.rc1 -- ruby -J-Xmn512m -J-Xms2048m -J-Xmx2048m benchmarking/individual/raw-gen-jr-sourced.rb
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/json-gen-jr-sourced.rb
4
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/gson-gen-jr-sourced.rb
5
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/raw-gen-jr-sourced.rb
6
+
7
+ # jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/gson-jr-sourced.rb
8
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/json-jr-sourced.rb
9
+
10
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/string-jr-sourced.rb
11
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/str-bd-jr-sourced.rb
12
+
13
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/symbol-jr-sourced.rb
14
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/sym-bd-jr-sourced.rb
15
+
16
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/raw-jr-sourced.rb
17
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/raw-bd-jr-sourced.rb
18
+
19
+ jruby -J-Xmn1024m -J-Xms4096m -J-Xmx4096m -S ./benchmarking/individual/sj-jr-sourced.rb
20
+
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+
3
+ ruby ./benchmarking/individual/json-mri-sourced.rb
4
+ ruby ./benchmarking/individual/oj-mri-sourced.rb
5
+
6
+ ruby ./benchmarking/individual/json-gen-mri-sourced.rb
7
+ ruby ./benchmarking/individual/oj-gen-mri-sourced.rb
@@ -0,0 +1,53 @@
1
+ /*
2
+ * To change this license header, choose License Headers in Project Properties.
3
+ * To change this template file, choose Tools | Templates
4
+ * and open the template in the editor.
5
+ */
6
+ package com.jrjackson;
7
+
8
+ import com.fasterxml.jackson.core.JsonParser;
9
+ import java.io.IOException;
10
+
11
+ /**
12
+ *
13
+ * @author guy
14
+ * @param <T>
15
+ * @param <U>
16
+ * @param <V>
17
+ */
18
+ public interface IParseHandler<T, U, V> {
19
+
20
+ void addValue(T value);
21
+
22
+ void arrayAppend(U array, T value);
23
+
24
+ void arrayEnd();
25
+
26
+ T arrayStart();
27
+
28
+ T falseValue();
29
+
30
+ T getResult();
31
+
32
+ void hashEnd();
33
+
34
+ T hashKey(String key);
35
+
36
+ void hashSet(V hash, T key, T value);
37
+
38
+ T hashStart();
39
+
40
+ void raiseError(String e);
41
+
42
+ T treatFloat(JsonParser jp) throws IOException;
43
+
44
+ T treatInt(JsonParser jp) throws IOException;
45
+
46
+ T treatNull();
47
+
48
+ T treatString(JsonParser jp) throws IOException;
49
+
50
+ T trueValue();
51
+
52
+
53
+ }
@@ -0,0 +1,17 @@
1
+ package com.jrjackson;
2
+
3
+ import com.fasterxml.jackson.core.JsonParser;
4
+ import java.io.IOException;
5
+ import java.math.BigDecimal;
6
+
7
+ /**
8
+ *
9
+ * @author Guy Boertje
10
+ */
11
+ public class JavaBigDecimalValueConverter implements JavaConverter {
12
+
13
+ @Override
14
+ public BigDecimal convert(JsonParser jp) throws IOException {
15
+ return jp.getDecimalValue();
16
+ }
17
+ }