• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-java-sdk / #5702

18 Nov 2025 06:13PM UTC coverage: 35.924% (-1.3%) from 37.182%
#5702

push

github

web-flow
fix: Fix parsing `OffsetDateTime` from String (box/box-codegen#887) (#1582)

7 of 10 new or added lines in 1 file covered. (70.0%)

433 existing lines in 45 files now uncovered.

18457 of 51378 relevant lines covered (35.92%)

0.36 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/com/box/sdkgen/schemas/templatesigner/TemplateSigner.java
1
package com.box.sdkgen.schemas.templatesigner;
2

3
import com.box.sdkgen.internal.Nullable;
4
import com.box.sdkgen.internal.NullableFieldTracker;
5
import com.box.sdkgen.internal.SerializableObject;
6
import com.box.sdkgen.schemas.templatesignerinput.TemplateSignerInput;
7
import com.box.sdkgen.serialization.json.EnumWrapper;
8
import com.fasterxml.jackson.annotation.JsonFilter;
9
import com.fasterxml.jackson.annotation.JsonProperty;
10
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
11
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
12
import java.util.List;
13
import java.util.Objects;
14

15
/** The schema for a Signer for Templates. */
16
@JsonFilter("nullablePropertyFilter")
17
public class TemplateSigner extends SerializableObject {
18

19
  protected List<TemplateSignerInput> inputs;
20

21
  /** Email address of the signer. */
22
  @Nullable protected String email;
23

24
  /**
25
   * Defines the role of the signer in the signature request. A role of `signer` needs to sign the
26
   * document, a role `approver` approves the document and a `final_copy_reader` role only receives
27
   * the final signed document and signing log.
28
   */
29
  @JsonDeserialize(using = TemplateSignerRoleField.TemplateSignerRoleFieldDeserializer.class)
30
  @JsonSerialize(using = TemplateSignerRoleField.TemplateSignerRoleFieldSerializer.class)
31
  protected EnumWrapper<TemplateSignerRoleField> role;
32

33
  /**
34
   * Used in combination with an embed URL for a sender. After the sender signs, they will be
35
   * redirected to the next `in_person` signer.
36
   */
37
  @JsonProperty("is_in_person")
38
  protected Boolean isInPerson;
39

40
  /** Order of the signer. */
41
  protected Long order;
42

43
  /**
44
   * If provided, this value points signers that are assigned the same inputs and belongs to same
45
   * signer group. A signer group is not a Box Group. It is an entity that belongs to the template
46
   * itself and can only be used within Box Sign requests created from it.
47
   */
48
  @JsonProperty("signer_group_id")
49
  @Nullable
50
  protected String signerGroupId;
51

52
  /**
53
   * A placeholder label for the signer set by the template creator to differentiate between
54
   * signers.
55
   */
56
  @Nullable protected String label;
57

58
  /** An identifier for the signer. This can be used to identify a signer within the template. */
59
  @JsonProperty("public_id")
60
  protected String publicId;
61

62
  /**
63
   * If true for signers with a defined email, the password provided when the template was created
64
   * is used by default. If true for signers without a specified / defined email, the creator needs
65
   * to provide a password when using the template.
66
   */
67
  @JsonProperty("is_password_required")
68
  @Nullable
69
  protected Boolean isPasswordRequired;
70

71
  /**
72
   * If true for signers with a defined email, the phone number provided when the template was
73
   * created is used by default. If true for signers without a specified / defined email, the
74
   * template creator needs to provide a phone number when creating a request.
75
   */
76
  @JsonProperty("is_phone_number_required")
77
  @Nullable
78
  protected Boolean isPhoneNumberRequired;
79

80
  /** If true, the signer is required to login to access the document. */
81
  @JsonProperty("login_required")
82
  @Nullable
83
  protected Boolean loginRequired;
84

85
  public TemplateSigner() {
UNCOV
86
    super();
×
UNCOV
87
  }
×
88

89
  protected TemplateSigner(Builder builder) {
90
    super();
×
91
    this.inputs = builder.inputs;
×
92
    this.email = builder.email;
×
93
    this.role = builder.role;
×
94
    this.isInPerson = builder.isInPerson;
×
95
    this.order = builder.order;
×
96
    this.signerGroupId = builder.signerGroupId;
×
97
    this.label = builder.label;
×
98
    this.publicId = builder.publicId;
×
99
    this.isPasswordRequired = builder.isPasswordRequired;
×
100
    this.isPhoneNumberRequired = builder.isPhoneNumberRequired;
×
101
    this.loginRequired = builder.loginRequired;
×
102
    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
×
103
  }
×
104

105
  public List<TemplateSignerInput> getInputs() {
106
    return inputs;
×
107
  }
108

109
  public String getEmail() {
110
    return email;
×
111
  }
112

113
  public EnumWrapper<TemplateSignerRoleField> getRole() {
114
    return role;
×
115
  }
116

117
  public Boolean getIsInPerson() {
118
    return isInPerson;
×
119
  }
120

121
  public Long getOrder() {
122
    return order;
×
123
  }
124

125
  public String getSignerGroupId() {
126
    return signerGroupId;
×
127
  }
128

129
  public String getLabel() {
130
    return label;
×
131
  }
132

133
  public String getPublicId() {
134
    return publicId;
×
135
  }
136

137
  public Boolean getIsPasswordRequired() {
138
    return isPasswordRequired;
×
139
  }
140

141
  public Boolean getIsPhoneNumberRequired() {
142
    return isPhoneNumberRequired;
×
143
  }
144

145
  public Boolean getLoginRequired() {
146
    return loginRequired;
×
147
  }
148

149
  @Override
150
  public boolean equals(Object o) {
151
    if (this == o) {
×
152
      return true;
×
153
    }
154
    if (o == null || getClass() != o.getClass()) {
×
155
      return false;
×
156
    }
157
    TemplateSigner casted = (TemplateSigner) o;
×
158
    return Objects.equals(inputs, casted.inputs)
×
159
        && Objects.equals(email, casted.email)
×
160
        && Objects.equals(role, casted.role)
×
161
        && Objects.equals(isInPerson, casted.isInPerson)
×
162
        && Objects.equals(order, casted.order)
×
163
        && Objects.equals(signerGroupId, casted.signerGroupId)
×
164
        && Objects.equals(label, casted.label)
×
165
        && Objects.equals(publicId, casted.publicId)
×
166
        && Objects.equals(isPasswordRequired, casted.isPasswordRequired)
×
167
        && Objects.equals(isPhoneNumberRequired, casted.isPhoneNumberRequired)
×
168
        && Objects.equals(loginRequired, casted.loginRequired);
×
169
  }
170

171
  @Override
172
  public int hashCode() {
173
    return Objects.hash(
×
174
        inputs,
175
        email,
176
        role,
177
        isInPerson,
178
        order,
179
        signerGroupId,
180
        label,
181
        publicId,
182
        isPasswordRequired,
183
        isPhoneNumberRequired,
184
        loginRequired);
185
  }
186

187
  @Override
188
  public String toString() {
189
    return "TemplateSigner{"
×
190
        + "inputs='"
191
        + inputs
192
        + '\''
193
        + ", "
194
        + "email='"
195
        + email
196
        + '\''
197
        + ", "
198
        + "role='"
199
        + role
200
        + '\''
201
        + ", "
202
        + "isInPerson='"
203
        + isInPerson
204
        + '\''
205
        + ", "
206
        + "order='"
207
        + order
208
        + '\''
209
        + ", "
210
        + "signerGroupId='"
211
        + signerGroupId
212
        + '\''
213
        + ", "
214
        + "label='"
215
        + label
216
        + '\''
217
        + ", "
218
        + "publicId='"
219
        + publicId
220
        + '\''
221
        + ", "
222
        + "isPasswordRequired='"
223
        + isPasswordRequired
224
        + '\''
225
        + ", "
226
        + "isPhoneNumberRequired='"
227
        + isPhoneNumberRequired
228
        + '\''
229
        + ", "
230
        + "loginRequired='"
231
        + loginRequired
232
        + '\''
233
        + "}";
234
  }
235

236
  public static class Builder extends NullableFieldTracker {
×
237

238
    protected List<TemplateSignerInput> inputs;
239

240
    protected String email;
241

242
    protected EnumWrapper<TemplateSignerRoleField> role;
243

244
    protected Boolean isInPerson;
245

246
    protected Long order;
247

248
    protected String signerGroupId;
249

250
    protected String label;
251

252
    protected String publicId;
253

254
    protected Boolean isPasswordRequired;
255

256
    protected Boolean isPhoneNumberRequired;
257

258
    protected Boolean loginRequired;
259

260
    public Builder inputs(List<TemplateSignerInput> inputs) {
261
      this.inputs = inputs;
×
262
      return this;
×
263
    }
264

265
    public Builder email(String email) {
266
      this.email = email;
×
267
      this.markNullableFieldAsSet("email");
×
268
      return this;
×
269
    }
270

271
    public Builder role(TemplateSignerRoleField role) {
272
      this.role = new EnumWrapper<TemplateSignerRoleField>(role);
×
273
      return this;
×
274
    }
275

276
    public Builder role(EnumWrapper<TemplateSignerRoleField> role) {
277
      this.role = role;
×
278
      return this;
×
279
    }
280

281
    public Builder isInPerson(Boolean isInPerson) {
282
      this.isInPerson = isInPerson;
×
283
      return this;
×
284
    }
285

286
    public Builder order(Long order) {
287
      this.order = order;
×
288
      return this;
×
289
    }
290

291
    public Builder signerGroupId(String signerGroupId) {
292
      this.signerGroupId = signerGroupId;
×
293
      this.markNullableFieldAsSet("signer_group_id");
×
294
      return this;
×
295
    }
296

297
    public Builder label(String label) {
298
      this.label = label;
×
299
      this.markNullableFieldAsSet("label");
×
300
      return this;
×
301
    }
302

303
    public Builder publicId(String publicId) {
304
      this.publicId = publicId;
×
305
      return this;
×
306
    }
307

308
    public Builder isPasswordRequired(Boolean isPasswordRequired) {
309
      this.isPasswordRequired = isPasswordRequired;
×
310
      this.markNullableFieldAsSet("is_password_required");
×
311
      return this;
×
312
    }
313

314
    public Builder isPhoneNumberRequired(Boolean isPhoneNumberRequired) {
315
      this.isPhoneNumberRequired = isPhoneNumberRequired;
×
316
      this.markNullableFieldAsSet("is_phone_number_required");
×
317
      return this;
×
318
    }
319

320
    public Builder loginRequired(Boolean loginRequired) {
321
      this.loginRequired = loginRequired;
×
322
      this.markNullableFieldAsSet("login_required");
×
323
      return this;
×
324
    }
325

326
    public TemplateSigner build() {
327
      return new TemplateSigner(this);
×
328
    }
329
  }
330
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc