jrjackson 0.3.9-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }