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

box / box-java-sdk-gen / #356

11 Jul 2025 04:43PM UTC coverage: 38.076% (+2.5%) from 35.58%
#356

Pull #361

github

web-flow
Merge 112b63b24 into 426763c84
Pull Request #361: feat: Support common fields in Union in Java (box/box-codegen#758)

288 of 1203 new or added lines in 106 files covered. (23.94%)

167 existing lines in 45 files now uncovered.

18536 of 48681 relevant lines covered (38.08%)

0.38 hits per line

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

68.75
/src/main/java/com/box/sdkgen/schemas/fileminiorfoldermini/FileMiniOrFolderMini.java
1
package com.box.sdkgen.schemas.fileminiorfoldermini;
2

3
import com.box.sdkgen.internal.OneOfTwo;
4
import com.box.sdkgen.schemas.filemini.FileMini;
5
import com.box.sdkgen.schemas.foldermini.FolderMini;
6
import com.box.sdkgen.serialization.json.EnumWrapper;
7
import com.box.sdkgen.serialization.json.JsonManager;
8
import com.fasterxml.jackson.core.JsonParser;
9
import com.fasterxml.jackson.databind.DeserializationContext;
10
import com.fasterxml.jackson.databind.JsonDeserializer;
11
import com.fasterxml.jackson.databind.JsonMappingException;
12
import com.fasterxml.jackson.databind.JsonNode;
13
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
14
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15
import java.io.IOException;
16

17
@JsonDeserialize(using = FileMiniOrFolderMini.FileMiniOrFolderMiniDeserializer.class)
18
@JsonSerialize(using = OneOfTwo.OneOfTwoSerializer.class)
19
public class FileMiniOrFolderMini extends OneOfTwo<FileMini, FolderMini> {
20

21
  protected final String sequenceId;
22

23
  protected final String name;
24

25
  protected final String id;
26

27
  protected final String etag;
28

29
  protected final String type;
30

31
  public FileMiniOrFolderMini(FileMini fileMini) {
32
    super(fileMini, null);
1✔
33
    this.sequenceId = fileMini.getSequenceId();
1✔
34
    this.name = fileMini.getName();
1✔
35
    this.id = fileMini.getId();
1✔
36
    this.etag = fileMini.getEtag();
1✔
37
    this.type = EnumWrapper.convertToString(fileMini.getType());
1✔
38
  }
1✔
39

40
  public FileMiniOrFolderMini(FolderMini folderMini) {
41
    super(null, folderMini);
1✔
42
    this.sequenceId = folderMini.getSequenceId();
1✔
43
    this.name = folderMini.getName();
1✔
44
    this.id = folderMini.getId();
1✔
45
    this.etag = folderMini.getEtag();
1✔
46
    this.type = EnumWrapper.convertToString(folderMini.getType());
1✔
47
  }
1✔
48

49
  public boolean isFileMini() {
NEW
50
    return value0 != null;
×
51
  }
52

53
  public FileMini getFileMini() {
54
    return value0;
×
55
  }
56

57
  public boolean isFolderMini() {
NEW
58
    return value1 != null;
×
59
  }
60

61
  public FolderMini getFolderMini() {
62
    return value1;
×
63
  }
64

65
  public String getSequenceId() {
NEW
66
    return sequenceId;
×
67
  }
68

69
  public String getName() {
NEW
70
    return name;
×
71
  }
72

73
  public String getId() {
NEW
74
    return id;
×
75
  }
76

77
  public String getEtag() {
NEW
78
    return etag;
×
79
  }
80

81
  public String getType() {
NEW
82
    return type;
×
83
  }
84

85
  static class FileMiniOrFolderMiniDeserializer extends JsonDeserializer<FileMiniOrFolderMini> {
86

87
    public FileMiniOrFolderMiniDeserializer() {
88
      super();
1✔
89
    }
1✔
90

91
    @Override
92
    public FileMiniOrFolderMini deserialize(JsonParser jp, DeserializationContext ctxt)
93
        throws IOException {
94
      JsonNode node = JsonManager.jsonToSerializedData(jp);
1✔
95
      JsonNode discriminant0 = node.get("type");
1✔
96
      if (!(discriminant0 == null)) {
1✔
97
        switch (discriminant0.asText()) {
1✔
98
          case "file":
99
            return new FileMiniOrFolderMini(JsonManager.deserialize(node, FileMini.class));
1✔
100
          case "folder":
101
            return new FileMiniOrFolderMini(JsonManager.deserialize(node, FolderMini.class));
1✔
102
        }
103
      }
104
      throw new JsonMappingException(jp, "Unable to deserialize FileMiniOrFolderMini");
×
105
    }
106
  }
107
}
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