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

box / box-java-sdk-gen / #226

20 Jun 2025 03:14PM UTC coverage: 35.609% (-0.2%) from 35.816%
#226

push

github

web-flow
feat: Shorten builder names in Java (box/box-codegen#742) (#334)

367 of 1570 new or added lines in 984 files covered. (23.38%)

674 existing lines in 370 files now uncovered.

16125 of 45284 relevant lines covered (35.61%)

0.36 hits per line

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

23.44
/src/main/java/com/box/sdkgen/schemas/webhook/Webhook.java
1
package com.box.sdkgen.schemas.webhook;
2

3
import com.box.sdkgen.internal.utils.DateTimeUtils;
4
import com.box.sdkgen.schemas.usermini.UserMini;
5
import com.box.sdkgen.schemas.webhookmini.WebhookMini;
6
import com.box.sdkgen.schemas.webhookmini.WebhookMiniTargetField;
7
import com.box.sdkgen.schemas.webhookmini.WebhookMiniTypeField;
8
import com.box.sdkgen.serialization.json.EnumWrapper;
9
import com.box.sdkgen.serialization.json.Valuable;
10
import com.fasterxml.jackson.annotation.JsonProperty;
11
import com.fasterxml.jackson.core.JsonGenerator;
12
import com.fasterxml.jackson.core.JsonParser;
13
import com.fasterxml.jackson.databind.DeserializationContext;
14
import com.fasterxml.jackson.databind.JsonDeserializer;
15
import com.fasterxml.jackson.databind.JsonNode;
16
import com.fasterxml.jackson.databind.JsonSerializer;
17
import com.fasterxml.jackson.databind.SerializerProvider;
18
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
19
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
20
import java.io.IOException;
21
import java.util.ArrayList;
22
import java.util.Date;
23
import java.util.List;
24
import java.util.Objects;
25

26
public class Webhook extends WebhookMini {
27

28
  @JsonProperty("created_by")
29
  protected UserMini createdBy;
30

31
  @JsonProperty("created_at")
32
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
33
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
34
  protected Date createdAt;
35

36
  protected String address;
37

38
  @JsonDeserialize(using = TriggersDeserializer.class)
39
  @JsonSerialize(using = TriggersSerializer.class)
40
  protected List<EnumWrapper<WebhookTriggersField>> triggers;
41

42
  public Webhook() {
43
    super();
1✔
44
  }
1✔
45

46
  protected Webhook(Builder builder) {
47
    super(builder);
×
48
    this.createdBy = builder.createdBy;
×
49
    this.createdAt = builder.createdAt;
×
50
    this.address = builder.address;
×
51
    this.triggers = builder.triggers;
×
52
  }
×
53

54
  public UserMini getCreatedBy() {
55
    return createdBy;
×
56
  }
57

58
  public Date getCreatedAt() {
59
    return createdAt;
×
60
  }
61

62
  public String getAddress() {
63
    return address;
1✔
64
  }
65

66
  public List<EnumWrapper<WebhookTriggersField>> getTriggers() {
67
    return triggers;
1✔
68
  }
69

70
  @Override
71
  public boolean equals(Object o) {
72
    if (this == o) {
×
73
      return true;
×
74
    }
75
    if (o == null || getClass() != o.getClass()) {
×
76
      return false;
×
77
    }
78
    Webhook casted = (Webhook) o;
×
79
    return Objects.equals(id, casted.id)
×
80
        && Objects.equals(type, casted.type)
×
81
        && Objects.equals(target, casted.target)
×
82
        && Objects.equals(createdBy, casted.createdBy)
×
83
        && Objects.equals(createdAt, casted.createdAt)
×
84
        && Objects.equals(address, casted.address)
×
85
        && Objects.equals(triggers, casted.triggers);
×
86
  }
87

88
  @Override
89
  public int hashCode() {
90
    return Objects.hash(id, type, target, createdBy, createdAt, address, triggers);
×
91
  }
92

93
  @Override
94
  public String toString() {
95
    return "Webhook{"
×
96
        + "id='"
97
        + id
98
        + '\''
99
        + ", "
100
        + "type='"
101
        + type
102
        + '\''
103
        + ", "
104
        + "target='"
105
        + target
106
        + '\''
107
        + ", "
108
        + "createdBy='"
109
        + createdBy
110
        + '\''
111
        + ", "
112
        + "createdAt='"
113
        + createdAt
114
        + '\''
115
        + ", "
116
        + "address='"
117
        + address
118
        + '\''
119
        + ", "
120
        + "triggers='"
121
        + triggers
122
        + '\''
123
        + "}";
124
  }
125

NEW
126
  public static class Builder extends WebhookMini.Builder {
×
127

128
    protected UserMini createdBy;
129

130
    protected Date createdAt;
131

132
    protected String address;
133

134
    protected List<EnumWrapper<WebhookTriggersField>> triggers;
135

136
    public Builder createdBy(UserMini createdBy) {
137
      this.createdBy = createdBy;
×
138
      return this;
×
139
    }
140

141
    public Builder createdAt(Date createdAt) {
142
      this.createdAt = createdAt;
×
143
      return this;
×
144
    }
145

146
    public Builder address(String address) {
147
      this.address = address;
×
148
      return this;
×
149
    }
150

151
    public Builder triggers(List<? extends Valuable> triggers) {
152
      this.triggers = EnumWrapper.wrapValuableEnumList(triggers, WebhookTriggersField.class);
×
153
      return this;
×
154
    }
155

156
    @Override
157
    public Builder id(String id) {
158
      this.id = id;
×
159
      return this;
×
160
    }
161

162
    @Override
163
    public Builder type(WebhookMiniTypeField type) {
164
      this.type = new EnumWrapper<WebhookMiniTypeField>(type);
×
165
      return this;
×
166
    }
167

168
    @Override
169
    public Builder type(EnumWrapper<WebhookMiniTypeField> type) {
170
      this.type = type;
×
171
      return this;
×
172
    }
173

174
    @Override
175
    public Builder target(WebhookMiniTargetField target) {
176
      this.target = target;
×
177
      return this;
×
178
    }
179

180
    public Webhook build() {
181
      return new Webhook(this);
×
182
    }
183
  }
184

185
  public static class TriggersDeserializer
186
      extends JsonDeserializer<List<EnumWrapper<WebhookTriggersField>>> {
187

188
    public final JsonDeserializer<EnumWrapper<WebhookTriggersField>> elementDeserializer;
189

190
    public TriggersDeserializer() {
191
      super();
1✔
192
      this.elementDeserializer = new WebhookTriggersField.WebhookTriggersFieldDeserializer();
1✔
193
    }
1✔
194

195
    @Override
196
    public List<EnumWrapper<WebhookTriggersField>> deserialize(
197
        JsonParser p, DeserializationContext ctxt) throws IOException {
198
      JsonNode node = p.getCodec().readTree(p);
1✔
199
      List<EnumWrapper<WebhookTriggersField>> elements = new ArrayList<>();
1✔
200
      for (JsonNode item : node) {
1✔
201
        JsonParser pa = item.traverse(p.getCodec());
1✔
202
        pa.nextToken();
1✔
203
        elements.add(elementDeserializer.deserialize(pa, ctxt));
1✔
204
      }
1✔
205
      return elements;
1✔
206
    }
207
  }
208

209
  public static class TriggersSerializer
210
      extends JsonSerializer<List<EnumWrapper<WebhookTriggersField>>> {
211

212
    public final JsonSerializer<EnumWrapper<WebhookTriggersField>> elementSerializer;
213

214
    public TriggersSerializer() {
215
      super();
×
216
      this.elementSerializer = new WebhookTriggersField.WebhookTriggersFieldSerializer();
×
217
    }
×
218

219
    @Override
220
    public void serialize(
221
        List<EnumWrapper<WebhookTriggersField>> value,
222
        JsonGenerator gen,
223
        SerializerProvider serializers)
224
        throws IOException {
225
      gen.writeStartArray();
×
226
      for (EnumWrapper<WebhookTriggersField> item : value) {
×
227
        elementSerializer.serialize(item, gen, serializers);
×
228
      }
×
229
      gen.writeEndArray();
×
230
    }
×
231
  }
232
}
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