1
1
package com .fasterxml .jackson .module .jsonSchema ;
2
2
3
- import com .fasterxml .jackson .databind .JavaType ;
4
- import com .fasterxml .jackson .databind .JsonMappingException ;
5
- import com .fasterxml .jackson .databind .ObjectMapper ;
3
+ import com .fasterxml .jackson .databind .*;
6
4
import com .fasterxml .jackson .module .jsonSchema .factories .SchemaFactoryWrapper ;
7
5
import com .fasterxml .jackson .module .jsonSchema .factories .WrapperFactory ;
8
6
13
11
*/
14
12
public class JsonSchemaGenerator
15
13
{
14
+ /**
15
+ * @deprecated Since 2.6
16
+ */
16
17
protected final ObjectMapper _mapper ;
17
18
19
+ /**
20
+ * @since 2.6
21
+ */
22
+ protected final ObjectWriter _writer ;
23
+
18
24
private final WrapperFactory _wrapperFactory ;
19
25
20
26
public JsonSchemaGenerator (ObjectMapper mapper ) {
@@ -23,20 +29,37 @@ public JsonSchemaGenerator(ObjectMapper mapper) {
23
29
24
30
public JsonSchemaGenerator (ObjectMapper mapper , WrapperFactory wrapperFactory ) {
25
31
_mapper = mapper ;
26
- _wrapperFactory = wrapperFactory == null ? new WrapperFactory () : wrapperFactory ;
32
+ _writer = mapper .writer ();
33
+ _wrapperFactory = (wrapperFactory == null ) ? new WrapperFactory () : wrapperFactory ;
34
+ }
35
+
36
+ /**
37
+ * @since 2.6
38
+ */
39
+ public JsonSchemaGenerator (ObjectWriter w ) {
40
+ this (w , null );
27
41
}
28
42
43
+ /**
44
+ * @since 2.6
45
+ */
46
+ public JsonSchemaGenerator (ObjectWriter w , WrapperFactory wrapperFactory ) {
47
+ _mapper = null ;
48
+ _writer = w ;
49
+ _wrapperFactory = (wrapperFactory == null ) ? new WrapperFactory () : wrapperFactory ;
50
+ }
51
+
29
52
public JsonSchema generateSchema (Class <?> type ) throws JsonMappingException
30
53
{
31
- SchemaFactoryWrapper visitor = _wrapperFactory .getWrapper (_mapper == null ? null : _mapper . getSerializerProvider () );
32
- _mapper .acceptJsonFormatVisitor (type , visitor );
54
+ SchemaFactoryWrapper visitor = _wrapperFactory .getWrapper (null );
55
+ _writer .acceptJsonFormatVisitor (type , visitor );
33
56
return visitor .finalSchema ();
34
57
}
35
58
36
59
public JsonSchema generateSchema (JavaType type ) throws JsonMappingException
37
60
{
38
- SchemaFactoryWrapper visitor = _wrapperFactory .getWrapper (_mapper == null ? null : _mapper . getSerializerProvider () );
39
- _mapper .acceptJsonFormatVisitor (type , visitor );
61
+ SchemaFactoryWrapper visitor = _wrapperFactory .getWrapper (null );
62
+ _writer .acceptJsonFormatVisitor (type , visitor );
40
63
return visitor .finalSchema ();
41
64
}
42
65
}
0 commit comments