1
1
package com .fasterxml .jackson .dataformat .yaml ;
2
2
3
3
import com .fasterxml .jackson .core .TSFBuilder ;
4
+ import com .fasterxml .jackson .dataformat .yaml .util .StringQuotingChecker ;
4
5
5
6
/**
6
7
* {@link com.fasterxml.jackson.core.TSFBuilder}
7
8
* implementation for constructing {@link YAMLFactory}
8
9
* instances.
9
- *
10
- * @since 3.0
11
10
*/
12
11
public class YAMLFactoryBuilder extends TSFBuilder <YAMLFactory , YAMLFactoryBuilder >
13
12
{
@@ -24,6 +23,14 @@ public class YAMLFactoryBuilder extends TSFBuilder<YAMLFactory, YAMLFactoryBuild
24
23
*/
25
24
protected int _formatGeneratorFeatures ;
26
25
26
+ /**
27
+ * Helper object used to determine whether property names, String values
28
+ * must be quoted or not.
29
+ *
30
+ * @since 2.12
31
+ */
32
+ protected StringQuotingChecker _quotingChecker ;
33
+
27
34
/*
28
35
/**********************************************************
29
36
/* Life cycle
@@ -37,6 +44,7 @@ protected YAMLFactoryBuilder() {
37
44
public YAMLFactoryBuilder (YAMLFactory base ) {
38
45
super (base );
39
46
_formatGeneratorFeatures = base ._yamlGeneratorFeatures ;
47
+ _quotingChecker = base ._quotingChecker ;
40
48
}
41
49
42
50
// // // Parser features NOT YET defined
@@ -45,39 +53,51 @@ public YAMLFactoryBuilder(YAMLFactory base) {
45
53
46
54
public YAMLFactoryBuilder enable (YAMLGenerator .Feature f ) {
47
55
_formatGeneratorFeatures |= f .getMask ();
48
- return _this () ;
56
+ return this ;
49
57
}
50
58
51
59
public YAMLFactoryBuilder enable (YAMLGenerator .Feature first , YAMLGenerator .Feature ... other ) {
52
60
_formatGeneratorFeatures |= first .getMask ();
53
61
for (YAMLGenerator .Feature f : other ) {
54
62
_formatGeneratorFeatures |= f .getMask ();
55
63
}
56
- return _this () ;
64
+ return this ;
57
65
}
58
66
59
67
public YAMLFactoryBuilder disable (YAMLGenerator .Feature f ) {
60
68
_formatGeneratorFeatures &= ~f .getMask ();
61
- return _this () ;
69
+ return this ;
62
70
}
63
71
64
72
public YAMLFactoryBuilder disable (YAMLGenerator .Feature first , YAMLGenerator .Feature ... other ) {
65
73
_formatGeneratorFeatures &= ~first .getMask ();
66
74
for (YAMLGenerator .Feature f : other ) {
67
75
_formatGeneratorFeatures &= ~f .getMask ();
68
76
}
69
- return _this () ;
77
+ return this ;
70
78
}
71
79
72
80
public YAMLFactoryBuilder configure (YAMLGenerator .Feature f , boolean state ) {
73
81
return state ? enable (f ) : disable (f );
74
82
}
75
83
84
+ public YAMLFactoryBuilder stringQuotingChecker (StringQuotingChecker sqc ) {
85
+ _quotingChecker = sqc ;
86
+ return this ;
87
+ }
88
+
76
89
// // // Accessors
77
90
78
91
// public int formatParserFeaturesMask() { return _formatParserFeatures; }
79
92
public int formatGeneratorFeaturesMask () { return _formatGeneratorFeatures ; }
80
93
94
+ public StringQuotingChecker stringQuotingChecker () {
95
+ if (_quotingChecker != null ) {
96
+ return _quotingChecker ;
97
+ }
98
+ return StringQuotingChecker .Default .instance ();
99
+ }
100
+
81
101
@ Override
82
102
public YAMLFactory build () {
83
103
return new YAMLFactory (this );
0 commit comments