1 package com.fasterxml.jackson.databind.introspect;
2
3 import java.lang.reflect.Type;
4
5 import com.fasterxml.jackson.databind.JavaType;
6 import com.fasterxml.jackson.databind.type.TypeBindings;
7 import com.fasterxml.jackson.databind.type.TypeFactory;
8
9
15 public interface TypeResolutionContext {
16 public JavaType resolveType(Type t);
17
18 public static class Basic
19 implements TypeResolutionContext
20 {
21 private final TypeFactory _typeFactory;
22 private final TypeBindings _bindings;
23
24 public Basic(TypeFactory tf, TypeBindings b) {
25 _typeFactory = tf;
26 _bindings = b;
27 }
28
29 @Override
30 public JavaType resolveType(Type type) {
31
32
33
34 if (type instanceof Class<?>) {
35 return _typeFactory.constructType(type);
36 }
37 return _typeFactory.constructType(type, _bindings);
38 }
39
40
46 }
47
48
54 public static class Empty
55 implements TypeResolutionContext
56 {
57 private final TypeFactory _typeFactory;
58
59 public Empty(TypeFactory tf) {
60 _typeFactory = tf;
61 }
62
63 @Override
64 public JavaType resolveType(Type type) {
65 return _typeFactory.constructType(type);
66 }
67 }
68 }
69