2 * Copyright (C) The Arvados Authors. All rights reserved.
4 * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
8 package org.arvados.client.api.model;
10 import com.fasterxml.jackson.annotation.JsonInclude;
11 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
12 import com.fasterxml.jackson.annotation.JsonProperty;
14 import java.util.HashMap;
17 @JsonInclude(JsonInclude.Include.NON_NULL)
18 @JsonIgnoreProperties(ignoreUnknown = true)
19 public class CollectionReplaceFiles {
21 @JsonProperty("collection")
22 private CollectionOptions collectionOptions;
24 @JsonProperty("replace_files")
25 private Map<String, String> replaceFiles;
27 public CollectionReplaceFiles() {
28 this.collectionOptions = new CollectionOptions();
29 this.replaceFiles = new HashMap<>();
32 public void addFileReplacement(String targetPath, String sourcePath) {
33 this.replaceFiles.put(targetPath, sourcePath);
36 @JsonInclude(JsonInclude.Include.NON_NULL)
37 @JsonIgnoreProperties(ignoreUnknown = true)
38 public static class CollectionOptions {
39 @JsonProperty("preserve_version")
40 private boolean preserveVersion;
42 public CollectionOptions() {
43 this.preserveVersion = true;
46 public boolean isPreserveVersion() {
47 return preserveVersion;
50 public void setPreserveVersion(boolean preserveVersion) {
51 this.preserveVersion = preserveVersion;
55 public CollectionOptions getCollectionOptions() {
56 return collectionOptions;
59 public void setCollectionOptions(CollectionOptions collectionOptions) {
60 this.collectionOptions = collectionOptions;
63 public Map<String, String> getReplaceFiles() {
67 public void setReplaceFiles(Map<String, String> replaceFiles) {
68 this.replaceFiles = replaceFiles;