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

box / box-java-sdk / #7247

10 Jun 2026 02:11PM UTC coverage: 12.425% (-0.04%) from 12.46%
#7247

push

github

web-flow
feat(boxsdkgen): Add new parameters to ai extract structured method (box/box-openapi#604) (#1882)

Co-authored-by: box-sdk-build <box-sdk-build@box.com>

0 of 231 new or added lines in 10 files covered. (0.0%)

17 existing lines in 10 files now uncovered.

8374 of 67394 relevant lines covered (12.43%)

0.12 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/aiextractsubfield/AiExtractSubField.java
1
package com.box.sdkgen.schemas.aiextractsubfield;
2

3
import com.box.sdkgen.internal.NullableFieldTracker;
4
import com.box.sdkgen.internal.SerializableObject;
5
import com.box.sdkgen.schemas.aiextractfieldoption.AiExtractFieldOption;
6
import com.fasterxml.jackson.annotation.JsonFilter;
7
import com.fasterxml.jackson.annotation.JsonProperty;
8
import java.util.List;
9
import java.util.Objects;
10

11
/** A nested field definition for structured and table field types used in AI extraction. */
12
@JsonFilter("nullablePropertyFilter")
13
public class AiExtractSubField extends SerializableObject {
14

15
  /** A unique identifier for the nested field. */
16
  protected final String key;
17

18
  /** A description of the nested field. */
19
  protected String description;
20

21
  /** The display name of the nested field. */
22
  protected String displayName;
23

24
  /** Context about the nested field that may include how to find and how to format it. */
25
  protected String prompt;
26

27
  /**
28
   * The type of the nested field. Allowed types include `string`, `float`, `date`, `number`,
29
   * `text`, `boolean`, `enum` and `multiSelect`.
30
   */
31
  protected String type;
32

33
  /** A list of options for this nested field. Used with `enum` and `multiSelect` types. */
34
  protected List<AiExtractFieldOption> options;
35

36
  public AiExtractSubField(@JsonProperty("key") String key) {
NEW
37
    super();
×
NEW
38
    this.key = key;
×
NEW
39
  }
×
40

41
  protected AiExtractSubField(Builder builder) {
NEW
42
    super();
×
NEW
43
    this.key = builder.key;
×
NEW
44
    this.description = builder.description;
×
NEW
45
    this.displayName = builder.displayName;
×
NEW
46
    this.prompt = builder.prompt;
×
NEW
47
    this.type = builder.type;
×
NEW
48
    this.options = builder.options;
×
NEW
49
    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
×
NEW
50
  }
×
51

52
  public String getKey() {
NEW
53
    return key;
×
54
  }
55

56
  public String getDescription() {
NEW
57
    return description;
×
58
  }
59

60
  public String getDisplayName() {
NEW
61
    return displayName;
×
62
  }
63

64
  public String getPrompt() {
NEW
65
    return prompt;
×
66
  }
67

68
  public String getType() {
NEW
69
    return type;
×
70
  }
71

72
  public List<AiExtractFieldOption> getOptions() {
NEW
73
    return options;
×
74
  }
75

76
  @Override
77
  public boolean equals(Object o) {
NEW
78
    if (this == o) {
×
NEW
79
      return true;
×
80
    }
NEW
81
    if (o == null || getClass() != o.getClass()) {
×
NEW
82
      return false;
×
83
    }
NEW
84
    AiExtractSubField casted = (AiExtractSubField) o;
×
NEW
85
    return Objects.equals(key, casted.key)
×
NEW
86
        && Objects.equals(description, casted.description)
×
NEW
87
        && Objects.equals(displayName, casted.displayName)
×
NEW
88
        && Objects.equals(prompt, casted.prompt)
×
NEW
89
        && Objects.equals(type, casted.type)
×
NEW
90
        && Objects.equals(options, casted.options);
×
91
  }
92

93
  @Override
94
  public int hashCode() {
NEW
95
    return Objects.hash(key, description, displayName, prompt, type, options);
×
96
  }
97

98
  @Override
99
  public String toString() {
NEW
100
    return "AiExtractSubField{"
×
101
        + "key='"
102
        + key
103
        + '\''
104
        + ", "
105
        + "description='"
106
        + description
107
        + '\''
108
        + ", "
109
        + "displayName='"
110
        + displayName
111
        + '\''
112
        + ", "
113
        + "prompt='"
114
        + prompt
115
        + '\''
116
        + ", "
117
        + "type='"
118
        + type
119
        + '\''
120
        + ", "
121
        + "options='"
122
        + options
123
        + '\''
124
        + "}";
125
  }
126

127
  public static class Builder extends NullableFieldTracker {
128

129
    protected final String key;
130

131
    protected String description;
132

133
    protected String displayName;
134

135
    protected String prompt;
136

137
    protected String type;
138

139
    protected List<AiExtractFieldOption> options;
140

141
    public Builder(String key) {
NEW
142
      super();
×
NEW
143
      this.key = key;
×
NEW
144
    }
×
145

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

151
    public Builder displayName(String displayName) {
NEW
152
      this.displayName = displayName;
×
NEW
153
      return this;
×
154
    }
155

156
    public Builder prompt(String prompt) {
NEW
157
      this.prompt = prompt;
×
NEW
158
      return this;
×
159
    }
160

161
    public Builder type(String type) {
NEW
162
      this.type = type;
×
NEW
163
      return this;
×
164
    }
165

166
    public Builder options(List<AiExtractFieldOption> options) {
NEW
167
      this.options = options;
×
NEW
168
      return this;
×
169
    }
170

171
    public AiExtractSubField build() {
NEW
172
      return new AiExtractSubField(this);
×
173
    }
174
  }
175
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc