diff options
author | Håvard Pettersen <havardpe@yahooinc.com> | 2023-04-18 11:53:03 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@yahooinc.com> | 2023-04-19 10:09:09 +0000 |
commit | 8b17820cc0367a3e35a951dabed21a9c2d3ab75e (patch) | |
tree | 09829ac5f5684532b3eaca0b1d206bace8f295dc /document | |
parent | ee613a99dc15b6acaaf923c60d76fe9428c0aee8 (diff) |
add create-if-non-existent flag for document put
Diffstat (limited to 'document')
-rw-r--r-- | document/abi-spec.json | 6 | ||||
-rw-r--r-- | document/src/main/java/com/yahoo/document/DocumentPut.java | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/document/abi-spec.json b/document/abi-spec.json index 5f520f1a4d1..f3ed7c389a1 100644 --- a/document/abi-spec.json +++ b/document/abi-spec.json @@ -387,7 +387,9 @@ "public void <init>(com.yahoo.document.DocumentPut, com.yahoo.document.Document)", "public boolean equals(java.lang.Object)", "public int hashCode()", - "public java.lang.String toString()" + "public java.lang.String toString()", + "public void setCreateIfNonExistent(boolean)", + "public boolean getCreateIfNonExistent()" ], "fields" : [ ] }, @@ -3549,4 +3551,4 @@ "protected com.yahoo.document.update.ValueUpdate$ValueUpdateClassID valueUpdateClassID" ] } -}
\ No newline at end of file +} diff --git a/document/src/main/java/com/yahoo/document/DocumentPut.java b/document/src/main/java/com/yahoo/document/DocumentPut.java index bfadaa8d4da..a421d5b96d4 100644 --- a/document/src/main/java/com/yahoo/document/DocumentPut.java +++ b/document/src/main/java/com/yahoo/document/DocumentPut.java @@ -9,6 +9,7 @@ import java.util.Objects; public class DocumentPut extends DocumentOperation { private final Document document; + private boolean createIfNonExistent; public DocumentPut(Document document) { this.document = document; @@ -38,6 +39,7 @@ public class DocumentPut extends DocumentOperation { public DocumentPut(DocumentPut other) { super(other); this.document = new Document(other.getDocument()); + createIfNonExistent = other.createIfNonExistent; } /** @@ -46,6 +48,7 @@ public class DocumentPut extends DocumentOperation { public DocumentPut(DocumentPut other, Document newDocument) { super(other); this.document = newDocument; + createIfNonExistent = other.createIfNonExistent; } @Override @@ -54,6 +57,7 @@ public class DocumentPut extends DocumentOperation { if (o == null || getClass() != o.getClass()) return false; DocumentPut that = (DocumentPut) o; return document.equals(that.document) && + (createIfNonExistent == that.createIfNonExistent) && Objects.equals(getCondition(), that.getCondition()); } @@ -67,4 +71,10 @@ public class DocumentPut extends DocumentOperation { return "put of document " + getId(); } + public void setCreateIfNonExistent(boolean value) { + createIfNonExistent = value; + } + public boolean getCreateIfNonExistent() { + return createIfNonExistent; + } } |