aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-01-30 15:09:29 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-01-30 15:09:29 +0100
commit24c43ee6197c38b7a1e4d7698be45733649aff3e (patch)
tree9b2c47f755acd7578f0014dd4d23b1949b86e250 /vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java
parentdc42f33b318c9b3fd2aa6939d476350eef34de5e (diff)
Review round 1 fixes
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java79
1 files changed, 19 insertions, 60 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java b/vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java
index 203bdb3f561..96b7a4e4a15 100644
--- a/vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java
+++ b/vespajlib/src/main/java/com/yahoo/slime/ObjectInserter.java
@@ -1,73 +1,32 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.slime;
-import java.util.Optional;
-
/**
- * Helper class for inserting values into an ObjectValue.
- * For justification read Inserter documentation.
- **/
+ * @author hakonhall
+ */
public final class ObjectInserter implements Inserter {
private Cursor target;
- private int symbol;
- private Optional<String> symbolName = Optional.empty();
+ private String key;
- public final ObjectInserter adjust(Cursor c, int sym) {
- target = c;
- symbol = sym;
- symbolName = Optional.empty();
- return this;
+ public ObjectInserter() {}
+
+ public ObjectInserter(Cursor c, String key) {
+ adjust(c, key);
}
- public final ObjectInserter adjust(Cursor c, String name) {
+ public final ObjectInserter adjust(Cursor c, String key) {
target = c;
- symbol = -1;
- symbolName = Optional.of(name);
+ this.key = key;
return this;
}
- public final Cursor insertNIX() {
- return symbolName.map(name -> target.setNix(name))
- .orElseGet(() -> target.setNix(symbol));
- }
-
- public final Cursor insertBOOL(boolean value) {
- return symbolName.map(name -> target.setBool(name, value))
- .orElseGet(() -> target.setBool(symbol, value));
- }
-
- public final Cursor insertLONG(long value) {
- return symbolName.map(name -> target.setLong(name, value))
- .orElseGet(() -> target.setLong(symbol, value));
- }
-
- public final Cursor insertDOUBLE(double value) {
- return symbolName.map(name -> target.setDouble(name, value))
- .orElseGet(() -> target.setDouble(symbol, value));
- }
-
- public final Cursor insertSTRING(String value) {
- return symbolName.map(name -> target.setString(name, value))
- .orElseGet(() -> target.setString(symbol, value));
- }
-
- public final Cursor insertSTRING(byte[] utf8) {
- return symbolName.map(name -> target.setString(name, utf8))
- .orElseGet(() -> target.setString(symbol, utf8));
- }
-
- public final Cursor insertDATA(byte[] value) {
- return symbolName.map(name -> target.setData(name, value))
- .orElseGet(() -> target.setData(symbol, value));
- }
-
- public final Cursor insertARRAY() {
- return symbolName.map(name -> target.setArray(name))
- .orElseGet(() -> target.setArray(symbol));
- }
-
- public final Cursor insertOBJECT() {
- return symbolName.map(name -> target.setObject(name))
- .orElseGet(() -> target.setObject(symbol));
- }
+ public final Cursor insertNIX() { return target.setNix(key); }
+ public final Cursor insertBOOL(boolean value) { return target.setBool(key, value); }
+ public final Cursor insertLONG(long value) { return target.setLong(key, value); }
+ public final Cursor insertDOUBLE(double value) { return target.setDouble(key, value); }
+ public final Cursor insertSTRING(String value) { return target.setString(key, value); }
+ public final Cursor insertSTRING(byte[] utf8) { return target.setString(key, utf8); }
+ public final Cursor insertDATA(byte[] value) { return target.setData(key, value); }
+ public final Cursor insertARRAY() { return target.setArray(key); }
+ public final Cursor insertOBJECT() { return target.setObject(key); }
}