• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.fasterxml.jackson.databind.ext;
2 
3 import java.nio.file.Path;
4 
5 import com.fasterxml.jackson.databind.JsonDeserializer;
6 import com.fasterxml.jackson.databind.JsonSerializer;
7 
8 /**
9  * @since 2.10
10  */
11 public class Java7HandlersImpl extends Java7Handlers
12 {
13     private final Class<?> _pathClass;
14 
Java7HandlersImpl()15     public Java7HandlersImpl() {
16         // 19-Sep-2019, tatu: Important to do this here, because otherwise
17         //    we get [databind#2466]
18         _pathClass = Path.class;
19     }
20 
21     @Override
getClassJavaNioFilePath()22     public Class<?> getClassJavaNioFilePath() {
23         return _pathClass;
24     }
25 
26     @Override
getDeserializerForJavaNioFilePath(Class<?> rawType)27     public JsonDeserializer<?> getDeserializerForJavaNioFilePath(Class<?> rawType) {
28         if (rawType == _pathClass) {
29             return new NioPathDeserializer();
30         }
31         return null;
32     }
33 
34     @Override
getSerializerForJavaNioFilePath(Class<?> rawType)35     public JsonSerializer<?> getSerializerForJavaNioFilePath(Class<?> rawType) {
36         if (_pathClass.isAssignableFrom(rawType)) {
37             return new NioPathSerializer();
38         }
39         return null;
40     }
41 }
42