6
6
package io .moov .sdk .models .components ;
7
7
import com .fasterxml .jackson .annotation .JsonCreator ;
8
8
import com .fasterxml .jackson .annotation .JsonIgnore ;
9
+ import com .fasterxml .jackson .annotation .JsonInclude .Include ;
10
+ import com .fasterxml .jackson .annotation .JsonInclude ;
9
11
import com .fasterxml .jackson .annotation .JsonProperty ;
10
12
import io .moov .sdk .utils .Utils ;
11
13
import java .lang .Override ;
12
14
import java .lang .String ;
15
+ import java .lang .SuppressWarnings ;
13
16
import java .util .Objects ;
17
+ import java .util .Optional ;
14
18
/**
15
19
* AccountNameVerification - The results of submitting cardholder name to a card network for verification.
16
20
*/
17
21
18
22
public class AccountNameVerification {
19
23
24
+ @ JsonInclude (Include .NON_ABSENT )
20
25
@ JsonProperty ("firstName" )
21
- private CardVerificationResult firstName ;
26
+ private Optional <? extends CardVerificationResult > firstName ;
22
27
28
+ @ JsonInclude (Include .NON_ABSENT )
23
29
@ JsonProperty ("lastName" )
24
- private CardVerificationResult lastName ;
30
+ private Optional <? extends CardVerificationResult > lastName ;
25
31
32
+ @ JsonInclude (Include .NON_ABSENT )
26
33
@ JsonProperty ("middleName" )
27
- private CardVerificationResult middleName ;
34
+ private Optional <? extends CardVerificationResult > middleName ;
28
35
36
+ @ JsonInclude (Include .NON_ABSENT )
29
37
@ JsonProperty ("fullName" )
30
- private CardVerificationResult fullName ;
38
+ private Optional <? extends CardVerificationResult > fullName ;
31
39
32
40
@ JsonCreator
33
41
public AccountNameVerification (
34
- @ JsonProperty ("firstName" ) CardVerificationResult firstName ,
35
- @ JsonProperty ("lastName" ) CardVerificationResult lastName ,
36
- @ JsonProperty ("middleName" ) CardVerificationResult middleName ,
37
- @ JsonProperty ("fullName" ) CardVerificationResult fullName ) {
42
+ @ JsonProperty ("firstName" ) Optional <? extends CardVerificationResult > firstName ,
43
+ @ JsonProperty ("lastName" ) Optional <? extends CardVerificationResult > lastName ,
44
+ @ JsonProperty ("middleName" ) Optional <? extends CardVerificationResult > middleName ,
45
+ @ JsonProperty ("fullName" ) Optional <? extends CardVerificationResult > fullName ) {
38
46
Utils .checkNotNull (firstName , "firstName" );
39
47
Utils .checkNotNull (lastName , "lastName" );
40
48
Utils .checkNotNull (middleName , "middleName" );
@@ -44,50 +52,82 @@ public AccountNameVerification(
44
52
this .middleName = middleName ;
45
53
this .fullName = fullName ;
46
54
}
55
+
56
+ public AccountNameVerification () {
57
+ this (Optional .empty (), Optional .empty (), Optional .empty (), Optional .empty ());
58
+ }
47
59
60
+ @ SuppressWarnings ("unchecked" )
48
61
@ JsonIgnore
49
- public CardVerificationResult firstName () {
50
- return firstName ;
62
+ public Optional < CardVerificationResult > firstName () {
63
+ return ( Optional < CardVerificationResult >) firstName ;
51
64
}
52
65
66
+ @ SuppressWarnings ("unchecked" )
53
67
@ JsonIgnore
54
- public CardVerificationResult lastName () {
55
- return lastName ;
68
+ public Optional < CardVerificationResult > lastName () {
69
+ return ( Optional < CardVerificationResult >) lastName ;
56
70
}
57
71
72
+ @ SuppressWarnings ("unchecked" )
58
73
@ JsonIgnore
59
- public CardVerificationResult middleName () {
60
- return middleName ;
74
+ public Optional < CardVerificationResult > middleName () {
75
+ return ( Optional < CardVerificationResult >) middleName ;
61
76
}
62
77
78
+ @ SuppressWarnings ("unchecked" )
63
79
@ JsonIgnore
64
- public CardVerificationResult fullName () {
65
- return fullName ;
80
+ public Optional < CardVerificationResult > fullName () {
81
+ return ( Optional < CardVerificationResult >) fullName ;
66
82
}
67
83
68
84
public final static Builder builder () {
69
85
return new Builder ();
70
86
}
71
87
72
88
public AccountNameVerification withFirstName (CardVerificationResult firstName ) {
89
+ Utils .checkNotNull (firstName , "firstName" );
90
+ this .firstName = Optional .ofNullable (firstName );
91
+ return this ;
92
+ }
93
+
94
+ public AccountNameVerification withFirstName (Optional <? extends CardVerificationResult > firstName ) {
73
95
Utils .checkNotNull (firstName , "firstName" );
74
96
this .firstName = firstName ;
75
97
return this ;
76
98
}
77
99
78
100
public AccountNameVerification withLastName (CardVerificationResult lastName ) {
101
+ Utils .checkNotNull (lastName , "lastName" );
102
+ this .lastName = Optional .ofNullable (lastName );
103
+ return this ;
104
+ }
105
+
106
+ public AccountNameVerification withLastName (Optional <? extends CardVerificationResult > lastName ) {
79
107
Utils .checkNotNull (lastName , "lastName" );
80
108
this .lastName = lastName ;
81
109
return this ;
82
110
}
83
111
84
112
public AccountNameVerification withMiddleName (CardVerificationResult middleName ) {
113
+ Utils .checkNotNull (middleName , "middleName" );
114
+ this .middleName = Optional .ofNullable (middleName );
115
+ return this ;
116
+ }
117
+
118
+ public AccountNameVerification withMiddleName (Optional <? extends CardVerificationResult > middleName ) {
85
119
Utils .checkNotNull (middleName , "middleName" );
86
120
this .middleName = middleName ;
87
121
return this ;
88
122
}
89
123
90
124
public AccountNameVerification withFullName (CardVerificationResult fullName ) {
125
+ Utils .checkNotNull (fullName , "fullName" );
126
+ this .fullName = Optional .ofNullable (fullName );
127
+ return this ;
128
+ }
129
+
130
+ public AccountNameVerification withFullName (Optional <? extends CardVerificationResult > fullName ) {
91
131
Utils .checkNotNull (fullName , "fullName" );
92
132
this .fullName = fullName ;
93
133
return this ;
@@ -129,37 +169,61 @@ public String toString() {
129
169
130
170
public final static class Builder {
131
171
132
- private CardVerificationResult firstName ;
172
+ private Optional <? extends CardVerificationResult > firstName = Optional . empty () ;
133
173
134
- private CardVerificationResult lastName ;
174
+ private Optional <? extends CardVerificationResult > lastName = Optional . empty () ;
135
175
136
- private CardVerificationResult middleName ;
176
+ private Optional <? extends CardVerificationResult > middleName = Optional . empty () ;
137
177
138
- private CardVerificationResult fullName ;
178
+ private Optional <? extends CardVerificationResult > fullName = Optional . empty () ;
139
179
140
180
private Builder () {
141
181
// force use of static builder() method
142
182
}
143
183
144
184
public Builder firstName (CardVerificationResult firstName ) {
185
+ Utils .checkNotNull (firstName , "firstName" );
186
+ this .firstName = Optional .ofNullable (firstName );
187
+ return this ;
188
+ }
189
+
190
+ public Builder firstName (Optional <? extends CardVerificationResult > firstName ) {
145
191
Utils .checkNotNull (firstName , "firstName" );
146
192
this .firstName = firstName ;
147
193
return this ;
148
194
}
149
195
150
196
public Builder lastName (CardVerificationResult lastName ) {
197
+ Utils .checkNotNull (lastName , "lastName" );
198
+ this .lastName = Optional .ofNullable (lastName );
199
+ return this ;
200
+ }
201
+
202
+ public Builder lastName (Optional <? extends CardVerificationResult > lastName ) {
151
203
Utils .checkNotNull (lastName , "lastName" );
152
204
this .lastName = lastName ;
153
205
return this ;
154
206
}
155
207
156
208
public Builder middleName (CardVerificationResult middleName ) {
209
+ Utils .checkNotNull (middleName , "middleName" );
210
+ this .middleName = Optional .ofNullable (middleName );
211
+ return this ;
212
+ }
213
+
214
+ public Builder middleName (Optional <? extends CardVerificationResult > middleName ) {
157
215
Utils .checkNotNull (middleName , "middleName" );
158
216
this .middleName = middleName ;
159
217
return this ;
160
218
}
161
219
162
220
public Builder fullName (CardVerificationResult fullName ) {
221
+ Utils .checkNotNull (fullName , "fullName" );
222
+ this .fullName = Optional .ofNullable (fullName );
223
+ return this ;
224
+ }
225
+
226
+ public Builder fullName (Optional <? extends CardVerificationResult > fullName ) {
163
227
Utils .checkNotNull (fullName , "fullName" );
164
228
this .fullName = fullName ;
165
229
return this ;
0 commit comments