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

common-workflow-language / cwljava / #352

07 Apr 2025 10:22AM UTC coverage: 59.538% (-0.6%) from 60.167%
#352

Pull #193

github

web-flow
Merge d636f9333 into 46536cad2
Pull Request #193: Add accessor for the extension field.

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

7347 of 12340 relevant lines covered (59.54%)

0.6 hits per line

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

41.38
/src/main/java/org/w3id/cwl/cwl1_2/FileImpl.java
1
// Copyright Common Workflow Language project contributors
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//      http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15
package org.w3id.cwl.cwl1_2;
16

17
import org.w3id.cwl.cwl1_2.utils.LoaderInstances;
18
import org.w3id.cwl.cwl1_2.utils.LoadingOptions;
19
import org.w3id.cwl.cwl1_2.utils.LoadingOptionsBuilder;
20
import org.w3id.cwl.cwl1_2.utils.SaveableImpl;
21
import org.w3id.cwl.cwl1_2.utils.ValidationException;
22

23
/**
24
* Auto-generated class implementation for <I>https://w3id.org/cwl/cwl#File</I><BR> <BLOCKQUOTE>
25
 Represents a file (or group of files when `secondaryFiles` is provided) that
26
 will be accessible by tools using standard POSIX file system call API such as
27
 open(2) and read(2).
28
 
29
 Files are represented as objects with `class` of `File`.  File objects have
30
 a number of properties that provide metadata about the file.
31
 
32
 The `location` property of a File is a IRI that uniquely identifies the
33
 file.  Implementations must support the `file://` IRI scheme and may support
34
 other schemes such as `http://` and `https://`.  The value of `location` may also be a
35
 relative reference, in which case it must be resolved relative to the IRI
36
 of the document it appears in.  Alternately to `location`, implementations
37
 must also accept the `path` property on File, which must be a filesystem
38
 path available on the same host as the CWL runner (for inputs) or the
39
 runtime environment of a command line tool execution (for command line tool
40
 outputs).
41
 
42
 If no `location` or `path` is specified, a file object must specify
43
 `contents` with the UTF-8 text content of the file.  This is a "file
44
 literal".  File literals do not correspond to external resources, but are
45
 created on disk with `contents` with when needed for executing a tool.
46
 Where appropriate, expressions can return file literals to define new files
47
 on a runtime.  The maximum size of `contents` is 64 kilobytes.
48
 
49
 The `basename` property defines the filename on disk where the file is
50
 staged.  This may differ from the resource name.  If not provided,
51
 `basename` must be computed from the last path part of `location` and made
52
 available to expressions.
53
 
54
 The `secondaryFiles` property is a list of File or Directory objects that
55
 must be staged in the same directory as the primary file.  It is an error
56
 for file names to be duplicated in `secondaryFiles`.
57
 
58
 The `size` property is the size in bytes of the File.  It must be computed
59
 from the resource and made available to expressions.  The `checksum` field
60
 contains a cryptographic hash of the file content for use it verifying file
61
 contents.  Implementations may, at user option, enable or disable
62
 computation of the `checksum` field for performance or other reasons.
63
 However, the ability to compute output checksums is required to pass the
64
 CWL conformance test suite.
65
 
66
 When executing a CommandLineTool, the files and secondary files may be
67
 staged to an arbitrary directory, but must use the value of `basename` for
68
 the filename.  The `path` property must be file path in the context of the
69
 tool execution runtime (local to the compute node, or within the executing
70
 container).  All computed properties should be available to expressions.
71
 File literals also must be staged and `path` must be set.
72
 
73
 When collecting CommandLineTool outputs, `glob` matching returns file paths
74
 (with the `path` property) and the derived properties. This can all be
75
 modified by `outputEval`.  Alternately, if the file `cwl.output.json` is
76
 present in the output, `outputBinding` is ignored.
77
 
78
 File objects in the output must provide either a `location` IRI or a `path`
79
 property in the context of the tool execution runtime (local to the compute
80
 node, or within the executing container).
81
 
82
 When evaluating an ExpressionTool, file objects must be referenced via
83
 `location` (the expression tool does not have access to files on disk so
84
 `path` is meaningless) or as file literals.  It is legal to return a file
85
 object with an existing `location` but a different `basename`.  The
86
 `loadContents` field of ExpressionTool inputs behaves the same as on
87
 CommandLineTool inputs, however it is not meaningful on the outputs.
88
 
89
 An ExpressionTool may forward file references from input to output by using
90
 the same value for `location`.
91
  </BLOCKQUOTE>
92
 */
93
public class FileImpl extends SaveableImpl implements File {
94
  private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
1✔
95
  private java.util.Map<String, Object> extensionFields_ =
1✔
96
      new java.util.HashMap<String, Object>();
97
  public java.util.Map<String, Object> getExtensionFields() {
NEW
98
    return this.extensionFields_;
×
99
  }
100

101
  private File_class class_;
102

103
  /**
104
   * Getter for property <I>https://w3id.org/cwl/cwl#File/class</I><BR>
105
   * <BLOCKQUOTE>
106
   * Must be `File` to indicate this object describes a file.   * </BLOCKQUOTE>
107
   */
108

109
  public File_class getClass_() {
110
    return this.class_;
×
111
  }
112

113
  private java.util.Optional<String> location;
114

115
  /**
116
   * Getter for property <I>https://w3id.org/cwl/cwl#File/location</I><BR>
117
   * <BLOCKQUOTE>
118
   * An IRI that identifies the file resource.  This may be a relative
119
   * reference, in which case it must be resolved using the base IRI of the
120
   * document.  The location may refer to a local or remote resource; the
121
   * implementation must use the IRI to retrieve file content.  If an
122
   * implementation is unable to retrieve the file content stored at a
123
   * remote resource (due to unsupported protocol, access denied, or other
124
   * issue) it must signal an error.
125
   * 
126
   * If the `location` field is not provided, the `contents` field must be
127
   * provided.  The implementation must assign a unique identifier for
128
   * the `location` field.
129
   * 
130
   * If the `path` field is provided but the `location` field is not, an
131
   * implementation may assign the value of the `path` field to `location`,
132
   * then follow the rules above.
133
   *    * </BLOCKQUOTE>
134
   */
135

136
  public java.util.Optional<String> getLocation() {
137
    return this.location;
×
138
  }
139

140
  private java.util.Optional<String> path;
141

142
  /**
143
   * Getter for property <I>https://w3id.org/cwl/cwl#path</I><BR>
144
   * <BLOCKQUOTE>
145
   * The local host path where the File is available when a CommandLineTool is
146
   * executed.  This field must be set by the implementation.  The final
147
   * path component must match the value of `basename`.  This field
148
   * must not be used in any other context.  The command line tool being
149
   * executed must be able to access the file at `path` using the POSIX
150
   * `open(2)` syscall.
151
   * 
152
   * As a special case, if the `path` field is provided but the `location`
153
   * field is not, an implementation may assign the value of the `path`
154
   * field to `location`, and remove the `path` field.
155
   * 
156
   * If the `path` contains [POSIX shell metacharacters](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_02)
157
   * (`|`,`&`, `;`, `<`, `>`, `(`,`)`, `$`,`` ` ``, `\`, `"`, `'`,
158
   * `<space>`, `<tab>`, and `<newline>`) or characters
159
   * [not allowed](http://www.iana.org/assignments/idna-tables-6.3.0/idna-tables-6.3.0.xhtml)
160
   * for [Internationalized Domain Names for Applications](https://tools.ietf.org/html/rfc6452)
161
   * then implementations may terminate the process with a
162
   * `permanentFailure`.
163
   *    * </BLOCKQUOTE>
164
   */
165

166
  public java.util.Optional<String> getPath() {
167
    return this.path;
×
168
  }
169

170
  private java.util.Optional<String> basename;
171

172
  /**
173
   * Getter for property <I>https://w3id.org/cwl/cwl#File/basename</I><BR>
174
   * <BLOCKQUOTE>
175
   * The base name of the file, that is, the name of the file without any
176
   * leading directory path.  The base name must not contain a slash `/`.
177
   * 
178
   * If not provided, the implementation must set this field based on the
179
   * `location` field by taking the final path component after parsing
180
   * `location` as an IRI.  If `basename` is provided, it is not required to
181
   * match the value from `location`.
182
   * 
183
   * When this file is made available to a CommandLineTool, it must be named
184
   * with `basename`, i.e. the final component of the `path` field must match
185
   * `basename`.
186
   *    * </BLOCKQUOTE>
187
   */
188

189
  public java.util.Optional<String> getBasename() {
190
    return this.basename;
×
191
  }
192

193
  private java.util.Optional<String> dirname;
194

195
  /**
196
   * Getter for property <I>https://w3id.org/cwl/cwl#File/dirname</I><BR>
197
   * <BLOCKQUOTE>
198
   * The name of the directory containing file, that is, the path leading up
199
   * to the final slash in the path such that `dirname + '/' + basename ==
200
   * path`.
201
   * 
202
   * The implementation must set this field based on the value of `path`
203
   * prior to evaluating parameter references or expressions in a
204
   * CommandLineTool document.  This field must not be used in any other
205
   * context.
206
   *    * </BLOCKQUOTE>
207
   */
208

209
  public java.util.Optional<String> getDirname() {
210
    return this.dirname;
×
211
  }
212

213
  private java.util.Optional<String> nameroot;
214

215
  /**
216
   * Getter for property <I>https://w3id.org/cwl/cwl#File/nameroot</I><BR>
217
   * <BLOCKQUOTE>
218
   * The basename root such that `nameroot + nameext == basename`, and
219
   * `nameext` is empty or begins with a period and contains at most one
220
   * period.  For the purposes of path splitting leading periods on the
221
   * basename are ignored; a basename of `.cshrc` will have a nameroot of
222
   * `.cshrc`.
223
   * 
224
   * The implementation must set this field automatically based on the value
225
   * of `basename` prior to evaluating parameter references or expressions.
226
   *    * </BLOCKQUOTE>
227
   */
228

229
  public java.util.Optional<String> getNameroot() {
230
    return this.nameroot;
×
231
  }
232

233
  private java.util.Optional<String> nameext;
234

235
  /**
236
   * Getter for property <I>https://w3id.org/cwl/cwl#File/nameext</I><BR>
237
   * <BLOCKQUOTE>
238
   * The basename extension such that `nameroot + nameext == basename`, and
239
   * `nameext` is empty or begins with a period and contains at most one
240
   * period.  Leading periods on the basename are ignored; a basename of
241
   * `.cshrc` will have an empty `nameext`.
242
   * 
243
   * The implementation must set this field automatically based on the value
244
   * of `basename` prior to evaluating parameter references or expressions.
245
   *    * </BLOCKQUOTE>
246
   */
247

248
  public java.util.Optional<String> getNameext() {
249
    return this.nameext;
×
250
  }
251

252
  private java.util.Optional<String> checksum;
253

254
  /**
255
   * Getter for property <I>https://w3id.org/cwl/cwl#File/checksum</I><BR>
256
   * <BLOCKQUOTE>
257
   * Optional hash code for validating file integrity.  Currently, must be in the form
258
   * "sha1$ + hexadecimal string" using the SHA-1 algorithm.
259
   *    * </BLOCKQUOTE>
260
   */
261

262
  public java.util.Optional<String> getChecksum() {
263
    return this.checksum;
×
264
  }
265

266
  private Object size;
267

268
  /**
269
   * Getter for property <I>https://w3id.org/cwl/cwl#File/size</I><BR>
270
   * <BLOCKQUOTE>
271
   * Optional file size (in bytes)   * </BLOCKQUOTE>
272
   */
273

274
  public Object getSize() {
275
    return this.size;
×
276
  }
277

278
  private java.util.Optional<java.util.List<Object>> secondaryFiles;
279

280
  /**
281
   * Getter for property <I>https://w3id.org/cwl/cwl#secondaryFiles</I><BR>
282
   * <BLOCKQUOTE>
283
   * A list of additional files or directories that are associated with the
284
   * primary file and must be transferred alongside the primary file.
285
   * Examples include indexes of the primary file, or external references
286
   * which must be included when loading primary document.  A file object
287
   * listed in `secondaryFiles` may itself include `secondaryFiles` for
288
   * which the same rules apply.
289
   *    * </BLOCKQUOTE>
290
   */
291

292
  public java.util.Optional<java.util.List<Object>> getSecondaryFiles() {
293
    return this.secondaryFiles;
×
294
  }
295

296
  private java.util.Optional<String> format;
297

298
  /**
299
   * Getter for property <I>https://w3id.org/cwl/cwl#format</I><BR>
300
   * <BLOCKQUOTE>
301
   * The format of the file: this must be an IRI of a concept node that
302
   * represents the file format, preferably defined within an ontology.
303
   * If no ontology is available, file formats may be tested by exact match.
304
   * 
305
   * Reasoning about format compatibility must be done by checking that an
306
   * input file format is the same, `owl:equivalentClass` or
307
   * `rdfs:subClassOf` the format required by the input parameter.
308
   * `owl:equivalentClass` is transitive with `rdfs:subClassOf`, e.g. if
309
   * `<B> owl:equivalentClass <C>` and `<B> owl:subclassOf <A>` then infer
310
   * `<C> owl:subclassOf <A>`.
311
   * 
312
   * File format ontologies may be provided in the "$schemas" metadata at the
313
   * root of the document.  If no ontologies are specified in `$schemas`, the
314
   * runtime may perform exact file format matches.
315
   *    * </BLOCKQUOTE>
316
   */
317

318
  public java.util.Optional<String> getFormat() {
319
    return this.format;
×
320
  }
321

322
  private java.util.Optional<String> contents;
323

324
  /**
325
   * Getter for property <I>https://w3id.org/cwl/cwl#File/contents</I><BR>
326
   * <BLOCKQUOTE>
327
   * File contents literal.
328
   * 
329
   * If neither `location` nor `path` is provided, `contents` must be
330
   * non-null.  The implementation must assign a unique identifier for the
331
   * `location` field.  When the file is staged as input to CommandLineTool,
332
   * the value of `contents` must be written to a file.
333
   * 
334
   * If `contents` is set as a result of a Javascript expression,
335
   * an `entry` in `InitialWorkDirRequirement`, or read in from
336
   * `cwl.output.json`, there is no specified upper limit on the
337
   * size of `contents`.  Implementations may have practical limits
338
   * on the size of `contents` based on memory and storage
339
   * available to the workflow runner or other factors.
340
   * 
341
   * If the `loadContents` field of an `InputParameter` or
342
   * `OutputParameter` is true, and the input or output File object
343
   * `location` is valid, the file must be a UTF-8 text file 64 KiB
344
   * or smaller, and the implementation must read the entire
345
   * contents of the file and place it in the `contents` field.  If
346
   * the size of the file is greater than 64 KiB, the
347
   * implementation must raise a fatal error.
348
   *    * </BLOCKQUOTE>
349
   */
350

351
  public java.util.Optional<String> getContents() {
352
    return this.contents;
×
353
  }
354

355
  /**
356
   * Used by {@link org.w3id.cwl.cwl1_2.utils.RootLoader} to construct instances of FileImpl.
357
   *
358
   * @param __doc_            Document fragment to load this record object from (presumably a
359
                              {@link java.util.Map}).
360
   * @param __baseUri_        Base URI to generate child document IDs against.
361
   * @param __loadingOptions  Context for loading URIs and populating objects.
362
   * @param __docRoot_        ID at this position in the document (if available) (maybe?)
363
   * @throws ValidationException If the document fragment is not a {@link java.util.Map}
364
   *                             or validation of fields fails.
365
   */
366
  public FileImpl(
367
      final Object __doc_,
368
      final String __baseUri_,
369
      LoadingOptions __loadingOptions,
370
      final String __docRoot_) {
371
    super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
1✔
372
    // Prefix plumbing variables with '__' to reduce likelihood of collision with
373
    // generated names.
374
    String __baseUri = __baseUri_;
1✔
375
    String __docRoot = __docRoot_;
1✔
376
    if (!(__doc_ instanceof java.util.Map)) {
1✔
377
      throw new ValidationException("FileImpl called on non-map");
×
378
    }
379
    final java.util.Map<String, Object> __doc = (java.util.Map<String, Object>) __doc_;
1✔
380
    final java.util.List<ValidationException> __errors =
1✔
381
        new java.util.ArrayList<ValidationException>();
382
    if (__loadingOptions != null) {
1✔
383
      this.loadingOptions_ = __loadingOptions;
1✔
384
    }
385
    File_class class_;
386
    try {
387
      class_ =
1✔
388
          LoaderInstances
389
              .uri_File_class_False_True_None_None
390
              .loadField(__doc.get("class"), __baseUri, __loadingOptions);
1✔
391
    } catch (ValidationException e) {
1✔
392
      class_ = null; // won't be used but prevents compiler from complaining.
1✔
393
      final String __message = "the `class` field is not valid because:";
1✔
394
      __errors.add(new ValidationException(__message, e));
1✔
395
    }
1✔
396
    java.util.Optional<String> location;
397

398
    if (__doc.containsKey("location")) {
1✔
399
      try {
400
        location =
1✔
401
            LoaderInstances
402
                .uri_optional_StringInstance_False_False_None_None
403
                .loadField(__doc.get("location"), __baseUri, __loadingOptions);
1✔
404
      } catch (ValidationException e) {
×
405
        location = null; // won't be used but prevents compiler from complaining.
×
406
        final String __message = "the `location` field is not valid because:";
×
407
        __errors.add(new ValidationException(__message, e));
×
408
      }
1✔
409

410
    } else {
411
      location = null;
1✔
412
    }
413
    java.util.Optional<String> path;
414

415
    if (__doc.containsKey("path")) {
1✔
416
      try {
417
        path =
1✔
418
            LoaderInstances
419
                .uri_optional_StringInstance_False_False_None_None
420
                .loadField(__doc.get("path"), __baseUri, __loadingOptions);
1✔
421
      } catch (ValidationException e) {
×
422
        path = null; // won't be used but prevents compiler from complaining.
×
423
        final String __message = "the `path` field is not valid because:";
×
424
        __errors.add(new ValidationException(__message, e));
×
425
      }
1✔
426

427
    } else {
428
      path = null;
1✔
429
    }
430
    java.util.Optional<String> basename;
431

432
    if (__doc.containsKey("basename")) {
1✔
433
      try {
434
        basename =
×
435
            LoaderInstances
436
                .optional_StringInstance
437
                .loadField(__doc.get("basename"), __baseUri, __loadingOptions);
×
438
      } catch (ValidationException e) {
×
439
        basename = null; // won't be used but prevents compiler from complaining.
×
440
        final String __message = "the `basename` field is not valid because:";
×
441
        __errors.add(new ValidationException(__message, e));
×
442
      }
×
443

444
    } else {
445
      basename = null;
1✔
446
    }
447
    java.util.Optional<String> dirname;
448

449
    if (__doc.containsKey("dirname")) {
1✔
450
      try {
451
        dirname =
×
452
            LoaderInstances
453
                .optional_StringInstance
454
                .loadField(__doc.get("dirname"), __baseUri, __loadingOptions);
×
455
      } catch (ValidationException e) {
×
456
        dirname = null; // won't be used but prevents compiler from complaining.
×
457
        final String __message = "the `dirname` field is not valid because:";
×
458
        __errors.add(new ValidationException(__message, e));
×
459
      }
×
460

461
    } else {
462
      dirname = null;
1✔
463
    }
464
    java.util.Optional<String> nameroot;
465

466
    if (__doc.containsKey("nameroot")) {
1✔
467
      try {
468
        nameroot =
×
469
            LoaderInstances
470
                .optional_StringInstance
471
                .loadField(__doc.get("nameroot"), __baseUri, __loadingOptions);
×
472
      } catch (ValidationException e) {
×
473
        nameroot = null; // won't be used but prevents compiler from complaining.
×
474
        final String __message = "the `nameroot` field is not valid because:";
×
475
        __errors.add(new ValidationException(__message, e));
×
476
      }
×
477

478
    } else {
479
      nameroot = null;
1✔
480
    }
481
    java.util.Optional<String> nameext;
482

483
    if (__doc.containsKey("nameext")) {
1✔
484
      try {
485
        nameext =
×
486
            LoaderInstances
487
                .optional_StringInstance
488
                .loadField(__doc.get("nameext"), __baseUri, __loadingOptions);
×
489
      } catch (ValidationException e) {
×
490
        nameext = null; // won't be used but prevents compiler from complaining.
×
491
        final String __message = "the `nameext` field is not valid because:";
×
492
        __errors.add(new ValidationException(__message, e));
×
493
      }
×
494

495
    } else {
496
      nameext = null;
1✔
497
    }
498
    java.util.Optional<String> checksum;
499

500
    if (__doc.containsKey("checksum")) {
1✔
501
      try {
502
        checksum =
×
503
            LoaderInstances
504
                .optional_StringInstance
505
                .loadField(__doc.get("checksum"), __baseUri, __loadingOptions);
×
506
      } catch (ValidationException e) {
×
507
        checksum = null; // won't be used but prevents compiler from complaining.
×
508
        final String __message = "the `checksum` field is not valid because:";
×
509
        __errors.add(new ValidationException(__message, e));
×
510
      }
×
511

512
    } else {
513
      checksum = null;
1✔
514
    }
515
    Object size;
516

517
    if (__doc.containsKey("size")) {
1✔
518
      try {
519
        size =
×
520
            LoaderInstances
521
                .union_of_NullInstance_or_IntegerInstance_or_LongInstance
522
                .loadField(__doc.get("size"), __baseUri, __loadingOptions);
×
523
      } catch (ValidationException e) {
×
524
        size = null; // won't be used but prevents compiler from complaining.
×
525
        final String __message = "the `size` field is not valid because:";
×
526
        __errors.add(new ValidationException(__message, e));
×
527
      }
×
528

529
    } else {
530
      size = null;
1✔
531
    }
532
    java.util.Optional<java.util.List<Object>> secondaryFiles;
533

534
    if (__doc.containsKey("secondaryFiles")) {
1✔
535
      try {
536
        secondaryFiles =
×
537
            LoaderInstances
538
                .secondaryfilesdsl_optional_array_of_union_of_File_or_Directory
539
                .loadField(__doc.get("secondaryFiles"), __baseUri, __loadingOptions);
×
540
      } catch (ValidationException e) {
×
541
        secondaryFiles = null; // won't be used but prevents compiler from complaining.
×
542
        final String __message = "the `secondaryFiles` field is not valid because:";
×
543
        __errors.add(new ValidationException(__message, e));
×
544
      }
×
545

546
    } else {
547
      secondaryFiles = null;
1✔
548
    }
549
    java.util.Optional<String> format;
550

551
    if (__doc.containsKey("format")) {
1✔
552
      try {
553
        format =
×
554
            LoaderInstances
555
                .uri_optional_StringInstance_True_False_None_True
556
                .loadField(__doc.get("format"), __baseUri, __loadingOptions);
×
557
      } catch (ValidationException e) {
×
558
        format = null; // won't be used but prevents compiler from complaining.
×
559
        final String __message = "the `format` field is not valid because:";
×
560
        __errors.add(new ValidationException(__message, e));
×
561
      }
×
562

563
    } else {
564
      format = null;
1✔
565
    }
566
    java.util.Optional<String> contents;
567

568
    if (__doc.containsKey("contents")) {
1✔
569
      try {
570
        contents =
×
571
            LoaderInstances
572
                .optional_StringInstance
573
                .loadField(__doc.get("contents"), __baseUri, __loadingOptions);
×
574
      } catch (ValidationException e) {
×
575
        contents = null; // won't be used but prevents compiler from complaining.
×
576
        final String __message = "the `contents` field is not valid because:";
×
577
        __errors.add(new ValidationException(__message, e));
×
578
      }
×
579

580
    } else {
581
      contents = null;
1✔
582
    }
583
    if (!__errors.isEmpty()) {
1✔
584
      throw new ValidationException("Trying 'RecordField'", __errors);
1✔
585
    }
586
    this.class_ = (File_class) class_;
1✔
587
    this.location = (java.util.Optional<String>) location;
1✔
588
    this.path = (java.util.Optional<String>) path;
1✔
589
    this.basename = (java.util.Optional<String>) basename;
1✔
590
    this.dirname = (java.util.Optional<String>) dirname;
1✔
591
    this.nameroot = (java.util.Optional<String>) nameroot;
1✔
592
    this.nameext = (java.util.Optional<String>) nameext;
1✔
593
    this.checksum = (java.util.Optional<String>) checksum;
1✔
594
    this.size = (Object) size;
1✔
595
    this.secondaryFiles = (java.util.Optional<java.util.List<Object>>) secondaryFiles;
1✔
596
    this.format = (java.util.Optional<String>) format;
1✔
597
    this.contents = (java.util.Optional<String>) contents;
1✔
598
  }
1✔
599
}
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