34
34
35
35
import jakarta .json .stream .JsonGenerator ;
36
36
import java .util .function .Function ;
37
+ import javax .annotation .Nullable ;
37
38
import org .opensearch .client .json .JsonpDeserializable ;
38
39
import org .opensearch .client .json .JsonpDeserializer ;
39
40
import org .opensearch .client .json .JsonpMapper ;
46
47
47
48
@ JsonpDeserializable
48
49
public class PatternReplaceCharFilter extends CharFilterBase implements CharFilterDefinitionVariant {
50
+ @ Nullable
49
51
private final String flags ;
50
52
51
53
private final String pattern ;
@@ -57,7 +59,7 @@ public class PatternReplaceCharFilter extends CharFilterBase implements CharFilt
57
59
private PatternReplaceCharFilter (Builder builder ) {
58
60
super (builder );
59
61
60
- this .flags = ApiTypeHelper . requireNonNull ( builder .flags , this , "flags" ) ;
62
+ this .flags = builder .flags ;
61
63
this .pattern = ApiTypeHelper .requireNonNull (builder .pattern , this , "pattern" );
62
64
this .replacement = ApiTypeHelper .requireNonNull (builder .replacement , this , "replacement" );
63
65
@@ -76,8 +78,9 @@ public CharFilterDefinition.Kind _charFilterDefinitionKind() {
76
78
}
77
79
78
80
/**
79
- * Required - API name: {@code flags}
81
+ * API name: {@code flags}
80
82
*/
83
+ @ Nullable
81
84
public final String flags () {
82
85
return this .flags ;
83
86
}
@@ -100,8 +103,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
100
103
101
104
generator .write ("type" , "pattern_replace" );
102
105
super .serializeInternal (generator , mapper );
103
- generator .writeKey ("flags" );
104
- generator .write (this .flags );
106
+
107
+ if (this .flags != null ) {
108
+ generator .writeKey ("flags" );
109
+ generator .write (this .flags );
110
+ }
105
111
106
112
generator .writeKey ("pattern" );
107
113
generator .write (this .pattern );
@@ -118,16 +124,17 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
118
124
*/
119
125
120
126
public static class Builder extends CharFilterBase .AbstractBuilder <Builder > implements ObjectBuilder <PatternReplaceCharFilter > {
127
+ @ Nullable
121
128
private String flags ;
122
129
123
130
private String pattern ;
124
131
125
132
private String replacement ;
126
133
127
134
/**
128
- * Required - API name: {@code flags}
135
+ * API name: {@code flags}
129
136
*/
130
- public final Builder flags (String value ) {
137
+ public final Builder flags (@ Nullable String value ) {
131
138
this .flags = value ;
132
139
return this ;
133
140
}
0 commit comments