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

box / box-java-sdk / #5076

07 Oct 2025 12:35PM UTC coverage: 37.132% (+0.007%) from 37.125%
#5076

push

github

web-flow
test: Change `Event.additionalDetails` field assertion in events test (box/box-codegen#858) (#1491)

18454 of 49699 relevant lines covered (37.13%)

0.37 hits per line

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

65.88
/src/main/java/com/box/sdkgen/schemas/signrequestcreatesigner/SignRequestCreateSigner.java
1
package com.box.sdkgen.schemas.signrequestcreatesigner;
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.serialization.json.EnumWrapper;
7
import com.fasterxml.jackson.annotation.JsonFilter;
8
import com.fasterxml.jackson.annotation.JsonProperty;
9
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
10
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
11
import java.util.Objects;
12

13
/** The schema for a Signer object used in for creating a Box Sign request object. */
14
@JsonFilter("nullablePropertyFilter")
15
public class SignRequestCreateSigner extends SerializableObject {
16

17
  /**
18
   * Email address of the signer. The email address of the signer is required when making signature
19
   * requests, except when using templates that are configured to include emails.
20
   */
21
  @Nullable protected String email;
22

23
  /**
24
   * Defines the role of the signer in the signature request. A `signer` must sign the document and
25
   * an `approver` must approve the document. A `final_copy_reader` only receives the final signed
26
   * document and signing log.
27
   */
28
  @JsonDeserialize(
29
      using = SignRequestCreateSignerRoleField.SignRequestCreateSignerRoleFieldDeserializer.class)
30
  @JsonSerialize(
31
      using = SignRequestCreateSignerRoleField.SignRequestCreateSignerRoleFieldSerializer.class)
32
  protected EnumWrapper<SignRequestCreateSignerRoleField> role;
33

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

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

44
  /**
45
   * User ID for the signer in an external application responsible for authentication when accessing
46
   * the embed URL.
47
   */
48
  @JsonProperty("embed_url_external_user_id")
49
  @Nullable
50
  protected String embedUrlExternalUserId;
51

52
  /**
53
   * The URL that a signer will be redirected to after signing a document. Defining this URL
54
   * overrides default or global redirect URL settings for a specific signer. If no declined
55
   * redirect URL is specified, this URL will be used for decline actions as well.
56
   */
57
  @JsonProperty("redirect_url")
58
  @Nullable
59
  protected String redirectUrl;
60

61
  /**
62
   * The URL that a signer will be redirect to after declining to sign a document. Defining this URL
63
   * overrides default or global declined redirect URL settings for a specific signer.
64
   */
65
  @JsonProperty("declined_redirect_url")
66
  @Nullable
67
  protected String declinedRedirectUrl;
68

69
  /**
70
   * If set to true, the signer will need to log in to a Box account before signing the request. If
71
   * the signer does not have an existing account, they will have the option to create a free Box
72
   * account.
73
   */
74
  @JsonProperty("login_required")
75
  @Nullable
76
  protected Boolean loginRequired;
77

78
  /**
79
   * If set, this phone number will be used to verify the signer via two-factor authentication
80
   * before they are able to sign the document. Cannot be selected in combination with
81
   * `login_required`.
82
   */
83
  @JsonProperty("verification_phone_number")
84
  @Nullable
85
  protected String verificationPhoneNumber;
86

87
  /**
88
   * If set, the signer is required to enter the password before they are able to sign a document.
89
   * This field is write only.
90
   */
91
  @Nullable protected String password;
92

93
  /**
94
   * If set, signers who have the same value will be assigned to the same input and to the same
95
   * signer group. A signer group is not a Box Group. It is an entity that belongs to a Sign Request
96
   * and can only be used/accessed within this Sign Request. A signer group is expected to have more
97
   * than one signer. If the provided value is only used for one signer, this value will be ignored
98
   * and request will be handled as it was intended for an individual signer. The value provided can
99
   * be any string and only used to determine which signers belongs to same group. A successful
100
   * response will provide a generated UUID value instead for signers in the same signer group.
101
   */
102
  @JsonProperty("signer_group_id")
103
  @Nullable
104
  protected String signerGroupId;
105

106
  /** If true, no emails about the sign request will be sent. */
107
  @JsonProperty("suppress_notifications")
108
  @Nullable
109
  protected Boolean suppressNotifications;
110

111
  public SignRequestCreateSigner() {
112
    super();
1✔
113
  }
1✔
114

115
  protected SignRequestCreateSigner(Builder builder) {
116
    super();
1✔
117
    this.email = builder.email;
1✔
118
    this.role = builder.role;
1✔
119
    this.isInPerson = builder.isInPerson;
1✔
120
    this.order = builder.order;
1✔
121
    this.embedUrlExternalUserId = builder.embedUrlExternalUserId;
1✔
122
    this.redirectUrl = builder.redirectUrl;
1✔
123
    this.declinedRedirectUrl = builder.declinedRedirectUrl;
1✔
124
    this.loginRequired = builder.loginRequired;
1✔
125
    this.verificationPhoneNumber = builder.verificationPhoneNumber;
1✔
126
    this.password = builder.password;
1✔
127
    this.signerGroupId = builder.signerGroupId;
1✔
128
    this.suppressNotifications = builder.suppressNotifications;
1✔
129
    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
1✔
130
  }
1✔
131

132
  public String getEmail() {
133
    return email;
1✔
134
  }
135

136
  public EnumWrapper<SignRequestCreateSignerRoleField> getRole() {
137
    return role;
1✔
138
  }
139

140
  public Boolean getIsInPerson() {
141
    return isInPerson;
1✔
142
  }
143

144
  public Long getOrder() {
145
    return order;
1✔
146
  }
147

148
  public String getEmbedUrlExternalUserId() {
149
    return embedUrlExternalUserId;
1✔
150
  }
151

152
  public String getRedirectUrl() {
153
    return redirectUrl;
1✔
154
  }
155

156
  public String getDeclinedRedirectUrl() {
157
    return declinedRedirectUrl;
1✔
158
  }
159

160
  public Boolean getLoginRequired() {
161
    return loginRequired;
1✔
162
  }
163

164
  public String getVerificationPhoneNumber() {
165
    return verificationPhoneNumber;
1✔
166
  }
167

168
  public String getPassword() {
169
    return password;
1✔
170
  }
171

172
  public String getSignerGroupId() {
173
    return signerGroupId;
1✔
174
  }
175

176
  public Boolean getSuppressNotifications() {
177
    return suppressNotifications;
1✔
178
  }
179

180
  @Override
181
  public boolean equals(Object o) {
182
    if (this == o) {
×
183
      return true;
×
184
    }
185
    if (o == null || getClass() != o.getClass()) {
×
186
      return false;
×
187
    }
188
    SignRequestCreateSigner casted = (SignRequestCreateSigner) o;
×
189
    return Objects.equals(email, casted.email)
×
190
        && Objects.equals(role, casted.role)
×
191
        && Objects.equals(isInPerson, casted.isInPerson)
×
192
        && Objects.equals(order, casted.order)
×
193
        && Objects.equals(embedUrlExternalUserId, casted.embedUrlExternalUserId)
×
194
        && Objects.equals(redirectUrl, casted.redirectUrl)
×
195
        && Objects.equals(declinedRedirectUrl, casted.declinedRedirectUrl)
×
196
        && Objects.equals(loginRequired, casted.loginRequired)
×
197
        && Objects.equals(verificationPhoneNumber, casted.verificationPhoneNumber)
×
198
        && Objects.equals(password, casted.password)
×
199
        && Objects.equals(signerGroupId, casted.signerGroupId)
×
200
        && Objects.equals(suppressNotifications, casted.suppressNotifications);
×
201
  }
202

203
  @Override
204
  public int hashCode() {
205
    return Objects.hash(
×
206
        email,
207
        role,
208
        isInPerson,
209
        order,
210
        embedUrlExternalUserId,
211
        redirectUrl,
212
        declinedRedirectUrl,
213
        loginRequired,
214
        verificationPhoneNumber,
215
        password,
216
        signerGroupId,
217
        suppressNotifications);
218
  }
219

220
  @Override
221
  public String toString() {
222
    return "SignRequestCreateSigner{"
×
223
        + "email='"
224
        + email
225
        + '\''
226
        + ", "
227
        + "role='"
228
        + role
229
        + '\''
230
        + ", "
231
        + "isInPerson='"
232
        + isInPerson
233
        + '\''
234
        + ", "
235
        + "order='"
236
        + order
237
        + '\''
238
        + ", "
239
        + "embedUrlExternalUserId='"
240
        + embedUrlExternalUserId
241
        + '\''
242
        + ", "
243
        + "redirectUrl='"
244
        + redirectUrl
245
        + '\''
246
        + ", "
247
        + "declinedRedirectUrl='"
248
        + declinedRedirectUrl
249
        + '\''
250
        + ", "
251
        + "loginRequired='"
252
        + loginRequired
253
        + '\''
254
        + ", "
255
        + "verificationPhoneNumber='"
256
        + verificationPhoneNumber
257
        + '\''
258
        + ", "
259
        + "password='"
260
        + password
261
        + '\''
262
        + ", "
263
        + "signerGroupId='"
264
        + signerGroupId
265
        + '\''
266
        + ", "
267
        + "suppressNotifications='"
268
        + suppressNotifications
269
        + '\''
270
        + "}";
271
  }
272

273
  public static class Builder extends NullableFieldTracker {
1✔
274

275
    protected String email;
276

277
    protected EnumWrapper<SignRequestCreateSignerRoleField> role;
278

279
    protected Boolean isInPerson;
280

281
    protected Long order;
282

283
    protected String embedUrlExternalUserId;
284

285
    protected String redirectUrl;
286

287
    protected String declinedRedirectUrl;
288

289
    protected Boolean loginRequired;
290

291
    protected String verificationPhoneNumber;
292

293
    protected String password;
294

295
    protected String signerGroupId;
296

297
    protected Boolean suppressNotifications;
298

299
    public Builder email(String email) {
300
      this.email = email;
1✔
301
      this.markNullableFieldAsSet("email");
1✔
302
      return this;
1✔
303
    }
304

305
    public Builder role(SignRequestCreateSignerRoleField role) {
306
      this.role = new EnumWrapper<SignRequestCreateSignerRoleField>(role);
1✔
307
      return this;
1✔
308
    }
309

310
    public Builder role(EnumWrapper<SignRequestCreateSignerRoleField> role) {
311
      this.role = role;
×
312
      return this;
×
313
    }
314

315
    public Builder isInPerson(Boolean isInPerson) {
316
      this.isInPerson = isInPerson;
1✔
317
      return this;
1✔
318
    }
319

320
    public Builder order(Long order) {
321
      this.order = order;
×
322
      return this;
×
323
    }
324

325
    public Builder embedUrlExternalUserId(String embedUrlExternalUserId) {
326
      this.embedUrlExternalUserId = embedUrlExternalUserId;
1✔
327
      this.markNullableFieldAsSet("embed_url_external_user_id");
1✔
328
      return this;
1✔
329
    }
330

331
    public Builder redirectUrl(String redirectUrl) {
332
      this.redirectUrl = redirectUrl;
×
333
      this.markNullableFieldAsSet("redirect_url");
×
334
      return this;
×
335
    }
336

337
    public Builder declinedRedirectUrl(String declinedRedirectUrl) {
338
      this.declinedRedirectUrl = declinedRedirectUrl;
1✔
339
      this.markNullableFieldAsSet("declined_redirect_url");
1✔
340
      return this;
1✔
341
    }
342

343
    public Builder loginRequired(Boolean loginRequired) {
344
      this.loginRequired = loginRequired;
1✔
345
      this.markNullableFieldAsSet("login_required");
1✔
346
      return this;
1✔
347
    }
348

349
    public Builder verificationPhoneNumber(String verificationPhoneNumber) {
350
      this.verificationPhoneNumber = verificationPhoneNumber;
×
351
      this.markNullableFieldAsSet("verification_phone_number");
×
352
      return this;
×
353
    }
354

355
    public Builder password(String password) {
356
      this.password = password;
1✔
357
      this.markNullableFieldAsSet("password");
1✔
358
      return this;
1✔
359
    }
360

361
    public Builder signerGroupId(String signerGroupId) {
362
      this.signerGroupId = signerGroupId;
1✔
363
      this.markNullableFieldAsSet("signer_group_id");
1✔
364
      return this;
1✔
365
    }
366

367
    public Builder suppressNotifications(Boolean suppressNotifications) {
368
      this.suppressNotifications = suppressNotifications;
1✔
369
      this.markNullableFieldAsSet("suppress_notifications");
1✔
370
      return this;
1✔
371
    }
372

373
    public SignRequestCreateSigner build() {
374
      return new SignRequestCreateSigner(this);
1✔
375
    }
376
  }
377
}
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