1
1
package tools .jackson .databind .node ;
2
2
3
+ import java .util .Optional ;
4
+
3
5
import tools .jackson .core .*;
4
6
import tools .jackson .databind .SerializationContext ;
5
7
@@ -18,6 +20,9 @@ public class BooleanNode
18
20
public final static BooleanNode TRUE = new BooleanNode (true );
19
21
public final static BooleanNode FALSE = new BooleanNode (false );
20
22
23
+ private final static Optional <Boolean > OPT_FALSE = Optional .of (false );
24
+ private final static Optional <Boolean > OPT_TRUE = Optional .of (true );
25
+
21
26
private final boolean _value ;
22
27
23
28
/*
@@ -61,14 +66,25 @@ protected String _valueDesc() {
61
66
@ Override
62
67
public BooleanNode deepCopy () { return this ; }
63
68
69
+ /*
70
+ /**********************************************************************
71
+ /* Overridden JsonNode methods, scalar access
72
+ /**********************************************************************
73
+ */
74
+
64
75
@ Override
65
76
public boolean booleanValue () {
66
77
return _value ;
67
78
}
68
79
69
80
@ Override
70
- public String asString () {
71
- return _value ? "true" : "false" ;
81
+ public boolean booleanValue (boolean defaultValue ) {
82
+ return _value ;
83
+ }
84
+
85
+ @ Override
86
+ public Optional <Boolean > booleanValueOpt () {
87
+ return _value ? OPT_TRUE : OPT_FALSE ;
72
88
}
73
89
74
90
@ Override
@@ -94,6 +110,17 @@ public double asDouble(double defaultValue) {
94
110
return _value ? 1.0 : 0.0 ;
95
111
}
96
112
113
+ @ Override
114
+ public String asString () {
115
+ return _value ? "true" : "false" ;
116
+ }
117
+
118
+ /*
119
+ /**********************************************************************
120
+ /* Overridden JsonNode methods, other
121
+ /**********************************************************************
122
+ */
123
+
97
124
@ Override
98
125
public final void serialize (JsonGenerator g , SerializationContext provider )
99
126
throws JacksonException {
0 commit comments