11package com .jsoniter ;
22
3- import com .jsoniter .annotation .JsoniterAnnotationSupport ;
43import com .jsoniter .any .Any ;
5- import com .jsoniter .spi .JsonException ;
6- import com .jsoniter .spi .Slice ;
7- import com .jsoniter .spi .TypeLiteral ;
4+ import com .jsoniter .spi .*;
85
96import java .io .Closeable ;
107import java .io .IOException ;
@@ -366,14 +363,39 @@ protected JsonIterator initialValue() {
366363 }
367364 };
368365
366+ public static final <T > T deserialize (Config config , String input , Class <T > clazz ) {
367+ JsoniterSpi .setCurrentConfig (config );
368+ try {
369+ return deserialize (input .getBytes (), clazz );
370+ } finally {
371+ JsoniterSpi .clearCurrentConfig ();
372+ }
373+ }
369374 public static final <T > T deserialize (String input , Class <T > clazz ) {
370375 return deserialize (input .getBytes (), clazz );
371376 }
372377
378+ public static final <T > T deserialize (Config config , String input , TypeLiteral <T > typeLiteral ) {
379+ JsoniterSpi .setCurrentConfig (config );
380+ try {
381+ return deserialize (input .getBytes (), typeLiteral );
382+ } finally {
383+ JsoniterSpi .clearCurrentConfig ();
384+ }
385+ }
386+
373387 public static final <T > T deserialize (String input , TypeLiteral <T > typeLiteral ) {
374388 return deserialize (input .getBytes (), typeLiteral );
375389 }
376390
391+ public static final <T > T deserialize (Config config , byte [] input , Class <T > clazz ) {
392+ JsoniterSpi .setCurrentConfig (config );
393+ try {
394+ return deserialize (input , clazz );
395+ } finally {
396+ JsoniterSpi .clearCurrentConfig ();
397+ }
398+ }
377399 public static final <T > T deserialize (byte [] input , Class <T > clazz ) {
378400 int lastNotSpacePos = findLastNotSpacePos (input );
379401 JsonIterator iter = tlsIter .get ();
@@ -391,6 +413,15 @@ public static final <T> T deserialize(byte[] input, Class<T> clazz) {
391413 }
392414 }
393415
416+ public static final <T > T deserialize (Config config , byte [] input , TypeLiteral <T > typeLiteral ) {
417+ JsoniterSpi .setCurrentConfig (config );
418+ try {
419+ return deserialize (input , typeLiteral );
420+ } finally {
421+ JsoniterSpi .clearCurrentConfig ();
422+ }
423+ }
424+
394425 public static final <T > T deserialize (byte [] input , TypeLiteral <T > typeLiteral ) {
395426 int lastNotSpacePos = findLastNotSpacePos (input );
396427 JsonIterator iter = tlsIter .get ();
@@ -408,10 +439,28 @@ public static final <T> T deserialize(byte[] input, TypeLiteral<T> typeLiteral)
408439 }
409440 }
410441
442+ public static final Any deserialize (Config config , String input ) {
443+ JsoniterSpi .setCurrentConfig (config );
444+ try {
445+ return deserialize (input .getBytes ());
446+ } finally {
447+ JsoniterSpi .clearCurrentConfig ();
448+ }
449+ }
450+
411451 public static final Any deserialize (String input ) {
412452 return deserialize (input .getBytes ());
413453 }
414454
455+ public static final Any deserialize (Config config , byte [] input ) {
456+ JsoniterSpi .setCurrentConfig (config );
457+ try {
458+ return deserialize (input );
459+ } finally {
460+ JsoniterSpi .clearCurrentConfig ();
461+ }
462+ }
463+
415464 public static final Any deserialize (byte [] input ) {
416465 int lastNotSpacePos = findLastNotSpacePos (input );
417466 JsonIterator iter = tlsIter .get ();
@@ -454,8 +503,4 @@ public static void enableStreamingSupport() {
454503 throw new JsonException (e );
455504 }
456505 }
457-
458- public static void enableAnnotationSupport () {
459- JsoniterAnnotationSupport .enable ();
460- }
461506}
0 commit comments