diff options
Diffstat (limited to 'searchlib/src/main/java/com/yahoo/searchlib/expression')
81 files changed, 226 insertions, 374 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/AddFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/AddFunctionNode.java index a3d9f0368d2..33579171650 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/AddFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/AddFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class AddFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 61, AddFunctionNode.class); + public static final int classId = registerClass(0x4000 + 61, AddFunctionNode.class, AddFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/AggregationRefNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/AggregationRefNode.java index 38440da5590..96bed811281 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/AggregationRefNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/AggregationRefNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.searchlib.aggregation.AggregationResult; @@ -14,14 +14,11 @@ import com.yahoo.vespa.objects.Serializer; */ public class AggregationRefNode extends ExpressionNode { - public static final int classId = registerClass(0x4000 + 142, AggregationRefNode.class); + public static final int classId = registerClass(0x4000 + 142, AggregationRefNode.class, AggregationRefNode::new); private AggregationResult result = null; private int index = - 1; - @SuppressWarnings("UnusedDeclaration") - public AggregationRefNode() { - // Used by deserializer. - } + public AggregationRefNode() { } public AggregationRefNode(int index) { this.index = index; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/AndFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/AndFunctionNode.java index 64282230e62..88ef0f1b7e9 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/AndFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/AndFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class AndFunctionNode extends BitFunctionNode { - public static final int classId = registerClass(0x4000 + 67, AndFunctionNode.class); + public static final int classId = registerClass(0x4000 + 67, AndFunctionNode.class, AndFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ArithmeticTypeConversion.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ArithmeticTypeConversion.java index 257be5e9a28..bd17ad38cb4 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ArithmeticTypeConversion.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ArithmeticTypeConversion.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import java.util.HashMap; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ArrayAtLookupNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ArrayAtLookupNode.java index cd498bff737..572063eb83f 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ArrayAtLookupNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ArrayAtLookupNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -12,7 +12,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class ArrayAtLookupNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 38, ArrayAtLookupNode.class); + public static final int classId = registerClass(0x4000 + 38, ArrayAtLookupNode.class, ArrayAtLookupNode::new); private String attribute; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeMapLookupNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeMapLookupNode.java index ffcf360a349..719ebcad6e1 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeMapLookupNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeMapLookupNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -17,7 +17,7 @@ import java.util.Objects; */ public class AttributeMapLookupNode extends AttributeNode { - public static final int classId = registerClass(0x4000 + 145, AttributeMapLookupNode.class); + public static final int classId = registerClass(0x4000 + 145, AttributeMapLookupNode.class, AttributeMapLookupNode::new); private String keyAttribute = ""; private String valueAttribute = ""; private String key = ""; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeNode.java index 979203bc30b..e5dac72938f 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,15 +13,13 @@ import com.yahoo.vespa.objects.Serializer; */ public class AttributeNode extends FunctionNode { - public static final int classId = registerClass(0x4000 + 55, AttributeNode.class); + public static final int classId = registerClass(0x4000 + 55, AttributeNode.class, AttributeNode::new); private String attribute; /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. */ - public AttributeNode() { - - } + public AttributeNode() { } /** * Constructs an instance of this class with given attribute name. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/BitFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/BitFunctionNode.java index 4767945d5fd..61588bc3694 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/BitFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/BitFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNode.java index e042138e88e..b19639a62c1 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -8,7 +8,7 @@ import com.yahoo.vespa.objects.Serializer; import java.nio.ByteBuffer; public class BoolResultNode extends ResultNode { - public static final int classId = registerClass(0x4000 + 146, BoolResultNode.class); + public static final int classId = registerClass(0x4000 + 146, BoolResultNode.class, BoolResultNode::new); private boolean value = false; public BoolResultNode() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNodeVector.java index 525f7becd67..62a57db17d0 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/BoolResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -7,7 +7,7 @@ import com.yahoo.vespa.objects.Serializer; import java.util.ArrayList; public class BoolResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 147, BoolResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 147, BoolResultNodeVector.class, BoolResultNodeVector::new); private ArrayList<BoolResultNode> vector = new ArrayList<>(); public BoolResultNodeVector() {} diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/BucketResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/BucketResultNode.java index bef3c2f9d23..c568f044de2 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/BucketResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/BucketResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/CatFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/CatFunctionNode.java index ebde9b512a1..2447603d0b2 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/CatFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/CatFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class CatFunctionNode extends MultiArgFunctionNode { - public static final int classId = registerClass(0x4000 + 72, CatFunctionNode.class); + public static final int classId = registerClass(0x4000 + 72, CatFunctionNode.class, CatFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ConstantNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ConstantNode.java index e26900ac77e..0ef268aad69 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ConstantNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ConstantNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,7 +13,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class ConstantNode extends ExpressionNode { - public static final int classId = registerClass(0x4000 + 49, ConstantNode.class); + public static final int classId = registerClass(0x4000 + 49, ConstantNode.class, ConstantNode::new); private ResultNode value = null; public ConstantNode() {} diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/DebugWaitFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/DebugWaitFunctionNode.java index c14edc6c427..0201434ff57 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/DebugWaitFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/DebugWaitFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -12,14 +12,11 @@ import com.yahoo.vespa.objects.Serializer; */ public class DebugWaitFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 144, DebugWaitFunctionNode.class); + public static final int classId = registerClass(0x4000 + 144, DebugWaitFunctionNode.class, DebugWaitFunctionNode::new); private double waitTime; private boolean busyWait; - @SuppressWarnings("UnusedDeclaration") - public DebugWaitFunctionNode() { - // used by deserializer - } + public DebugWaitFunctionNode() { } /** * Constructs an instance of this class with given argument and wait parameters. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/DivideFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/DivideFunctionNode.java index ec7d624f5de..97eded1d38f 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/DivideFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/DivideFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class DivideFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 63, DivideFunctionNode.class); + public static final int classId = registerClass(0x4000 + 63, DivideFunctionNode.class, DivideFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentAccessorNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentAccessorNode.java index b1001fdad99..7f14a2d6ad2 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentAccessorNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentAccessorNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentFieldNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentFieldNode.java index de7ef5b4dfb..02e1ad13fc8 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentFieldNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/DocumentFieldNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,7 +13,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class DocumentFieldNode extends DocumentAccessorNode { - public static final int classId = registerClass(0x4000 + 56, DocumentFieldNode.class); + public static final int classId = registerClass(0x4000 + 56, DocumentFieldNode.class, DocumentFieldNode::new); private String fieldName; private ResultNode result; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ExpressionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ExpressionNode.java index 1ed09faed64..48b148d9c6d 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ExpressionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ExpressionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FixedWidthBucketFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FixedWidthBucketFunctionNode.java index 8104fff6b7f..20b9d1528ed 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FixedWidthBucketFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FixedWidthBucketFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,7 +13,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class FixedWidthBucketFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 77, FixedWidthBucketFunctionNode.class); + public static final int classId = registerClass(0x4000 + 77, FixedWidthBucketFunctionNode.class, FixedWidthBucketFunctionNode::new); private NumericResultNode width = null; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNode.java index edaa1a5b722..a4191a78abd 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,7 +14,7 @@ import com.yahoo.vespa.objects.Serializer; public class FloatBucketResultNode extends BucketResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 102, FloatBucketResultNode.class); + public static final int classId = registerClass(0x4000 + 102, FloatBucketResultNode.class, FloatBucketResultNode::new); // bucket start, inclusive private double from = 0; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNodeVector.java index bedfdbaedc0..901a0d39bbb 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatBucketResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,7 +15,7 @@ import java.util.ArrayList; public class FloatBucketResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 113, FloatBucketResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 113, FloatBucketResultNodeVector.class, FloatBucketResultNodeVector::new); private ArrayList<FloatBucketResultNode> vector = new ArrayList<FloatBucketResultNode>(); @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNode.java index 41f37d53281..782e8edd661 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -16,9 +16,9 @@ import java.nio.ByteBuffer; public class FloatResultNode extends NumericResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 52, FloatResultNode.class); - private static FloatResultNode negativeInfinity = new FloatResultNode(Double.NEGATIVE_INFINITY); - private static FloatResultNode positiveInfinity = new FloatResultNode(Double.POSITIVE_INFINITY); + public static final int classId = registerClass(0x4000 + 52, FloatResultNode.class, FloatResultNode::new); + private static final FloatResultNode negativeInfinity = new FloatResultNode(Double.NEGATIVE_INFINITY); + private static final FloatResultNode positiveInfinity = new FloatResultNode(Double.POSITIVE_INFINITY); // The numeric value of this node. private double value; @@ -129,7 +129,7 @@ public class FloatResultNode extends NumericResultNode { @Override public Object getNumber() { - return Double.valueOf(value); + return value; } @Override @@ -141,7 +141,7 @@ public class FloatResultNode extends NumericResultNode { if (Double.isNaN(b)) { return 1; } else { - return (value < b) ? -1 : (value > b) ? 1 : 0; + return Double.compare(value, b); } } } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNodeVector.java index 1d4b00047dd..b5ea963f817 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FloatResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,7 +15,7 @@ import java.util.ArrayList; public class FloatResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 110, FloatResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 110, FloatResultNodeVector.class, FloatResultNodeVector::new); private ArrayList<FloatResultNode> vector = new ArrayList<FloatResultNode>(); @Override @@ -23,8 +23,7 @@ public class FloatResultNodeVector extends ResultNodeVector { return classId; } - public FloatResultNodeVector() { - } + public FloatResultNodeVector() {} public FloatResultNodeVector add(FloatResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java index 0a8020cad69..840fb43cfa0 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/FunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/FunctionNode.java index d1a0869bb4d..266f13f3fbc 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/FunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/FunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetDocIdNamespaceSpecificFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/GetDocIdNamespaceSpecificFunctionNode.java index 239424df643..4f94d740ddf 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetDocIdNamespaceSpecificFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/GetDocIdNamespaceSpecificFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,7 +13,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class GetDocIdNamespaceSpecificFunctionNode extends DocumentAccessorNode { - public static final int classId = registerClass(0x4000 + 73, GetDocIdNamespaceSpecificFunctionNode.class); + public static final int classId = registerClass(0x4000 + 73, GetDocIdNamespaceSpecificFunctionNode.class, GetDocIdNamespaceSpecificFunctionNode::new); private ResultNode result = null; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNode.java index b0f98685578..42405e4027c 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,13 +15,10 @@ import java.nio.ByteBuffer; */ public class Int16ResultNode extends NumericResultNode { - public static final int classId = registerClass(0x4000 + 105, Int16ResultNode.class); + public static final int classId = registerClass(0x4000 + 105, Int16ResultNode.class, Int16ResultNode::new); private short value = 0; - @SuppressWarnings("UnusedDeclaration") - public Int16ResultNode() { - // used by deserializer - } + public Int16ResultNode() {} /** * Constructs an instance of this class with given value. @@ -122,7 +119,7 @@ public class Int16ResultNode extends NumericResultNode { @Override public Object getNumber() { - return Integer.valueOf(value); + return (int) value; } @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNodeVector.java index db73fcd2d8f..9aea52250f9 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int16ResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,11 +14,10 @@ import java.util.ArrayList; */ public class Int16ResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 117, Int16ResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 117, Int16ResultNodeVector.class, Int16ResultNodeVector::new); private ArrayList<Int16ResultNode> vector = new ArrayList<Int16ResultNode>(); - public Int16ResultNodeVector() { - } + public Int16ResultNodeVector() {} public Int16ResultNodeVector add(Int16ResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNode.java index 711b8f1bd3f..520cfb0c3d7 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,13 +15,10 @@ import java.nio.ByteBuffer; */ public class Int32ResultNode extends NumericResultNode { - public static final int classId = registerClass(0x4000 + 106, Int32ResultNode.class); + public static final int classId = registerClass(0x4000 + 106, Int32ResultNode.class, Int32ResultNode::new); private int value = 0; - @SuppressWarnings("UnusedDeclaration") - public Int32ResultNode() { - // used by deserializer - } + public Int32ResultNode() { } /** * Constructs an instance of this class with given value. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNodeVector.java index 7230ee00cca..6fad7f5d9ae 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int32ResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,12 +14,10 @@ import java.util.ArrayList; */ public class Int32ResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 118, Int32ResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 118, Int32ResultNodeVector.class, Int32ResultNodeVector::new); private ArrayList<Int32ResultNode> vector = new ArrayList<Int32ResultNode>(); - public Int32ResultNodeVector() { - - } + public Int32ResultNodeVector() {} public Int32ResultNodeVector add(Int32ResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNode.java index d6706ce1dfe..a2c64c931dc 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,11 +15,10 @@ import java.nio.ByteBuffer; */ public class Int8ResultNode extends NumericResultNode { - public static final int classId = registerClass(0x4000 + 104, Int8ResultNode.class); + public static final int classId = registerClass(0x4000 + 104, Int8ResultNode.class, Int8ResultNode::new); private byte value = 0; - public Int8ResultNode() { - } + public Int8ResultNode() { } /** * Constructs an instance of this class with given value. @@ -120,7 +119,7 @@ public class Int8ResultNode extends NumericResultNode { @Override public Object getNumber() { - return Integer.valueOf(value); + return (int) value; } @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNodeVector.java index c5a6d720ce3..a2639fa1513 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/Int8ResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,12 +14,10 @@ import java.util.ArrayList; */ public class Int8ResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 116, Int8ResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 116, Int8ResultNodeVector.class, Int8ResultNodeVector::new); private ArrayList<Int8ResultNode> vector = new ArrayList<>(); - public Int8ResultNodeVector() { - - } + public Int8ResultNodeVector() {} public Int8ResultNodeVector add(Int8ResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNode.java index c5d66406fd5..532ae999480 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,16 +13,11 @@ import com.yahoo.vespa.objects.Serializer; */ public class IntegerBucketResultNode extends BucketResultNode { - public static final int classId = registerClass(0x4000 + 101, IntegerBucketResultNode.class); + public static final int classId = registerClass(0x4000 + 101, IntegerBucketResultNode.class, IntegerBucketResultNode::new); private long from = 0; // bucket start, inclusive private long to = 0; // bucket end, exclusive - /** - * Constructs an empty result node. - */ - public IntegerBucketResultNode() { - // empty - } + public IntegerBucketResultNode() { } /** * Create a bucket with the given limits diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeVector.java index 33f20b92696..091da38c524 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerBucketResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,12 +14,10 @@ import java.util.ArrayList; */ public class IntegerBucketResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 112, IntegerBucketResultNodeVector.class); - private ArrayList<IntegerBucketResultNode> vector = new ArrayList<IntegerBucketResultNode>(); + public static final int classId = registerClass(0x4000 + 112, IntegerBucketResultNodeVector.class, IntegerBucketResultNodeVector::new); + private ArrayList<IntegerBucketResultNode> vector = new ArrayList<>(); - public IntegerBucketResultNodeVector() { - - } + public IntegerBucketResultNodeVector() {} public IntegerBucketResultNodeVector add(IntegerBucketResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNode.java index 5e1163a3e36..f968a31f54c 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,9 +15,9 @@ import java.nio.ByteBuffer; */ public class IntegerResultNode extends NumericResultNode { - public static final int classId = registerClass(0x4000 + 107, IntegerResultNode.class); - private static IntegerResultNode negativeInfinity = new IntegerResultNode(Long.MIN_VALUE); - private static IntegerResultNode positiveInfinity = new IntegerResultNode(Long.MAX_VALUE); + public static final int classId = registerClass(0x4000 + 107, IntegerResultNode.class, IntegerResultNode::new); + private static final IntegerResultNode negativeInfinity = new IntegerResultNode(Long.MIN_VALUE); + private static final IntegerResultNode positiveInfinity = new IntegerResultNode(Long.MAX_VALUE); private long value; /** @@ -138,13 +138,13 @@ public class IntegerResultNode extends NumericResultNode { @Override public Object getNumber() { - return Long.valueOf(value); + return value; } @Override protected int onCmp(ResultNode rhs) { long value = rhs.getInteger(); - return (this.value < value) ? -1 : (this.value > value) ? 1 : 0; + return Long.compare(this.value, value); } @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNodeVector.java index e328b5a7037..776213c47d0 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/IntegerResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,12 +14,10 @@ import java.util.ArrayList; */ public class IntegerResultNodeVector extends ResultNodeVector { - public static final int classId = registerClass(0x4000 + 119, IntegerResultNodeVector.class); - private ArrayList<IntegerResultNode> vector = new ArrayList<IntegerResultNode>(); + public static final int classId = registerClass(0x4000 + 119, IntegerResultNodeVector.class, IntegerResultNodeVector::new); + private ArrayList<IntegerResultNode> vector = new ArrayList<>(); - public IntegerResultNodeVector() { - - } + public IntegerResultNodeVector() {} public IntegerResultNodeVector add(IntegerResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/InterpolatedLookupNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/InterpolatedLookupNode.java index 81faca31480..e8ebfad0b0d 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/InterpolatedLookupNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/InterpolatedLookupNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -12,7 +12,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class InterpolatedLookupNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 39, InterpolatedLookupNode.class); + public static final int classId = registerClass(0x4000 + 39, InterpolatedLookupNode.class, InterpolatedLookupNode::new); private String attribute; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MD5BitFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MD5BitFunctionNode.java index c2b931f42c2..81493a09e98 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MD5BitFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MD5BitFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,12 @@ package com.yahoo.searchlib.expression; */ public class MD5BitFunctionNode extends UnaryBitFunctionNode { - public static final int classId = registerClass(0x4000 + 70, MD5BitFunctionNode.class); + public static final int classId = registerClass(0x4000 + 70, MD5BitFunctionNode.class, MD5BitFunctionNode::new); /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. */ - public MD5BitFunctionNode() { - - } + public MD5BitFunctionNode() {} /** * Constructs an instance of this class with given argument and number of bits. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MathFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MathFunctionNode.java index 06af4197b46..a19ff9690ea 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MathFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MathFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -53,10 +53,9 @@ public class MathFunctionNode extends MultiArgFunctionNode { } } - public static final int classId = registerClass(0x4000 + 136, MathFunctionNode.class); + public static final int classId = registerClass(0x4000 + 136, MathFunctionNode.class, MathFunctionNode::new); private Function fnc; - @SuppressWarnings("UnusedDeclaration") public MathFunctionNode() { this(Function.LOG); } @@ -75,69 +74,31 @@ public class MathFunctionNode extends MultiArgFunctionNode { @Override protected boolean onExecute() { getArg(0).execute(); - double result = 0.0; - switch (fnc) { - case EXP: - result = Math.exp(getArg(0).getResult().getFloat()); - break; - case POW: - result = Math.pow(getArg(0).getResult().getFloat(), getArg(1).getResult().getFloat()); - break; - case LOG: - result = Math.log(getArg(0).getResult().getFloat()); - break; - case LOG1P: - result = Math.log1p(getArg(0).getResult().getFloat()); - break; - case LOG10: - result = Math.log10(getArg(0).getResult().getFloat()); - break; - case SIN: - result = Math.sin(getArg(0).getResult().getFloat()); - break; - case ASIN: - result = Math.asin(getArg(0).getResult().getFloat()); - break; - case COS: - result = Math.cos(getArg(0).getResult().getFloat()); - break; - case ACOS: - result = Math.acos(getArg(0).getResult().getFloat()); - break; - case TAN: - result = Math.tan(getArg(0).getResult().getFloat()); - break; - case ATAN: - result = Math.atan(getArg(0).getResult().getFloat()); - break; - case SQRT: - result = Math.sqrt(getArg(0).getResult().getFloat()); - break; - case SINH: - result = Math.sinh(getArg(0).getResult().getFloat()); - break; - case ASINH: - throw new IllegalArgumentException("Inverse hyperbolic sine(asinh) is not supported in java"); - case COSH: - result = Math.cosh(getArg(0).getResult().getFloat()); - break; - case ACOSH: - throw new IllegalArgumentException("Inverse hyperbolic cosine (acosh) is not supported in java"); - case TANH: - result = Math.tanh(getArg(0).getResult().getFloat()); - break; - case ATANH: - throw new IllegalArgumentException("Inverse hyperbolic tangents (atanh) is not supported in java"); - case FLOOR: - result = Math.floor(getArg(0).getResult().getFloat()); - break; - case CBRT: - result = Math.cbrt(getArg(0).getResult().getFloat()); - break; - case HYPOT: - result = Math.hypot(getArg(0).getResult().getFloat(), getArg(1).getResult().getFloat()); - break; - } + double result = switch (fnc) { + case EXP -> Math.exp(getArg(0).getResult().getFloat()); + case POW -> Math.pow(getArg(0).getResult().getFloat(), getArg(1).getResult().getFloat()); + case LOG -> Math.log(getArg(0).getResult().getFloat()); + case LOG1P -> Math.log1p(getArg(0).getResult().getFloat()); + case LOG10 -> Math.log10(getArg(0).getResult().getFloat()); + case SIN -> Math.sin(getArg(0).getResult().getFloat()); + case ASIN -> Math.asin(getArg(0).getResult().getFloat()); + case COS -> Math.cos(getArg(0).getResult().getFloat()); + case ACOS -> Math.acos(getArg(0).getResult().getFloat()); + case TAN -> Math.tan(getArg(0).getResult().getFloat()); + case ATAN -> Math.atan(getArg(0).getResult().getFloat()); + case SQRT -> Math.sqrt(getArg(0).getResult().getFloat()); + case SINH -> Math.sinh(getArg(0).getResult().getFloat()); + case ASINH -> throw new IllegalArgumentException("Inverse hyperbolic sine(asinh) is not supported in java"); + case COSH -> Math.cosh(getArg(0).getResult().getFloat()); + case ACOSH -> + throw new IllegalArgumentException("Inverse hyperbolic cosine (acosh) is not supported in java"); + case TANH -> Math.tanh(getArg(0).getResult().getFloat()); + case ATANH -> + throw new IllegalArgumentException("Inverse hyperbolic tangents (atanh) is not supported in java"); + case FLOOR -> Math.floor(getArg(0).getResult().getFloat()); + case CBRT -> Math.cbrt(getArg(0).getResult().getFloat()); + case HYPOT -> Math.hypot(getArg(0).getResult().getFloat(), getArg(1).getResult().getFloat()); + }; ((FloatResultNode)getResult()).setValue(result); return true; } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MaxFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MaxFunctionNode.java index 8564ac54145..261fbfedfea 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MaxFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MaxFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class MaxFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 66, MaxFunctionNode.class); + public static final int classId = registerClass(0x4000 + 66, MaxFunctionNode.class, MaxFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MinFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MinFunctionNode.java index 7280385bb10..972b8181c7a 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MinFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MinFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class MinFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 65, MinFunctionNode.class); + public static final int classId = registerClass(0x4000 + 65, MinFunctionNode.class, MinFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ModuloFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ModuloFunctionNode.java index 21bbdc9f524..1d17df05e5b 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ModuloFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ModuloFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class ModuloFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 64, ModuloFunctionNode.class); + public static final int classId = registerClass(0x4000 + 64, ModuloFunctionNode.class, ModuloFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiArgFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiArgFunctionNode.java index 8779503df19..f7a34c030bd 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiArgFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiArgFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.*; @@ -51,16 +51,16 @@ public abstract class MultiArgFunctionNode extends FunctionNode { @Override protected boolean onExecute() { - for (int i = 0; i < args.size(); i++) { - args.get(i).execute(); + for (ExpressionNode arg : args) { + arg.execute(); } return calculate(args, getResult()); } @Override protected void onPrepare() { - for (int i = 0; i < args.size(); i++) { - args.get(i).prepare(); + for (ExpressionNode arg : args) { + arg.prepare(); } prepareResult(); } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiplyFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiplyFunctionNode.java index 94821d20666..64561a7f05d 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiplyFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/MultiplyFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class MultiplyFunctionNode extends NumericFunctionNode { - public static final int classId = registerClass(0x4000 + 62, MultiplyFunctionNode.class); + public static final int classId = registerClass(0x4000 + 62, MultiplyFunctionNode.class, MultiplyFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NegateFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NegateFunctionNode.java index 856b723007e..5be2ab2f805 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NegateFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NegateFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class NegateFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 60, NegateFunctionNode.class); + public static final int classId = registerClass(0x4000 + 60, NegateFunctionNode.class, NegateFunctionNode::new); /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NormalizeSubjectFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NormalizeSubjectFunctionNode.java index 531b86f5ba0..d95b8e45627 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NormalizeSubjectFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NormalizeSubjectFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class NormalizeSubjectFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 143, NormalizeSubjectFunctionNode.class); + public static final int classId = registerClass(0x4000 + 143, NormalizeSubjectFunctionNode.class, NormalizeSubjectFunctionNode::new); /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NullResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NullResultNode.java index 446a4554af0..a32e15e40d5 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NullResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NullResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.ObjectVisitor; @@ -12,7 +12,7 @@ import com.yahoo.vespa.objects.ObjectVisitor; public class NullResultNode extends ResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 57, NullResultNode.class); + public static final int classId = registerClass(0x4000 + 57, NullResultNode.class, NullResultNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumElemFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumElemFunctionNode.java index af9624d093e..cafbde08b73 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumElemFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumElemFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,12 @@ package com.yahoo.searchlib.expression; */ public class NumElemFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 132, NumElemFunctionNode.class); + public static final int classId = registerClass(0x4000 + 132, NumElemFunctionNode.class, NumElemFunctionNode::new); /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. */ - public NumElemFunctionNode() { - - } + public NumElemFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericFunctionNode.java index 54f4b8b7be7..12936980a2f 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericResultNode.java index c01c3e2ea97..d491950ad75 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/NumericResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/OrFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/OrFunctionNode.java index b9123daa6d3..bdc149aabce 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/OrFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/OrFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class OrFunctionNode extends BitFunctionNode { - public static final int classId = registerClass(0x4000 + 68, OrFunctionNode.class); + public static final int classId = registerClass(0x4000 + 68, OrFunctionNode.class, OrFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/PositiveInfinityResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/PositiveInfinityResultNode.java index 3ed5345ba22..d8872ad0e93 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/PositiveInfinityResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/PositiveInfinityResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -6,7 +6,7 @@ package com.yahoo.searchlib.expression; */ public class PositiveInfinityResultNode extends ResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 124, PositiveInfinityResultNode.class); + public static final int classId = registerClass(0x4000 + 124, PositiveInfinityResultNode.class, PositiveInfinityResultNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RangeBucketPreDefFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RangeBucketPreDefFunctionNode.java index 1cd210a37fc..42f489f69ee 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RangeBucketPreDefFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RangeBucketPreDefFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,15 +13,10 @@ import com.yahoo.vespa.objects.Serializer; */ public class RangeBucketPreDefFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 76, RangeBucketPreDefFunctionNode.class); + public static final int classId = registerClass(0x4000 + 76, RangeBucketPreDefFunctionNode.class, RangeBucketPreDefFunctionNode::new); private ResultNodeVector predef = null; - /** - * Constructs an empty result node. - */ - public RangeBucketPreDefFunctionNode() { - // empty - } + public RangeBucketPreDefFunctionNode() {} /** * Create a bucket expression with the given width and the given subexpression diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNode.java index 1ba7325e974..6d995bc1b34 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -11,7 +11,7 @@ import com.yahoo.vespa.objects.Serializer; public class RawBucketResultNode extends BucketResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 125, RawBucketResultNode.class); + public static final int classId = registerClass(0x4000 + 125, RawBucketResultNode.class, RawBucketResultNode::new); // bucket start, inclusive private ResultNode from = RawResultNode.getNegativeInfinity(); @@ -24,12 +24,7 @@ public class RawBucketResultNode extends BucketResultNode { return to.equals(from); } - /** - * Constructs an empty result node. - */ - public RawBucketResultNode() { - // empty - } + public RawBucketResultNode() {} /** * Create a bucket with the given limits diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNodeVector.java index 1b739fe005f..e95caff7435 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawBucketResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -11,16 +11,15 @@ import java.util.ArrayList; */ public class RawBucketResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 126, RawBucketResultNodeVector.class); - private ArrayList<RawBucketResultNode> vector = new ArrayList<RawBucketResultNode>(); + public static final int classId = registerClass(0x4000 + 126, RawBucketResultNodeVector.class, RawBucketResultNodeVector::new); + private ArrayList<RawBucketResultNode> vector = new ArrayList<>(); @Override protected int onGetClassId() { return classId; } - public RawBucketResultNodeVector() { - } + public RawBucketResultNodeVector() {} public RawBucketResultNodeVector add(RawBucketResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNode.java index d1dc46fc4d0..3e951ae8e46 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.searchlib.aggregation.RawData; @@ -17,7 +17,7 @@ import java.util.Arrays; public class RawResultNode extends SingleResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 54, RawResultNode.class); + public static final int classId = registerClass(0x4000 + 54, RawResultNode.class, RawResultNode::new); private static final RawResultNode negativeInfinity = new RawResultNode(); private static final PositiveInfinityResultNode positiveInfinity = new PositiveInfinityResultNode(); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNodeVector.java index bb7e69f5187..8ea775799a6 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RawResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,7 +15,7 @@ import java.util.ArrayList; public class RawResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 115, RawResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 115, RawResultNodeVector.class, RawResultNodeVector::new); private ArrayList<RawResultNode> vector = new ArrayList<RawResultNode>(); @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/RelevanceNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/RelevanceNode.java index 55d3a8cf2e5..250c8902fa8 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/RelevanceNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/RelevanceNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -13,17 +13,13 @@ import com.yahoo.vespa.objects.Serializer; */ public class RelevanceNode extends ExpressionNode { - public static final int classId = registerClass(0x4000 + 59, RelevanceNode.class); + public static final int classId = registerClass(0x4000 + 59, RelevanceNode.class, RelevanceNode::new); private FloatResultNode relevance = new FloatResultNode(); - public RelevanceNode() { - - } + public RelevanceNode() {} @Override - public void onPrepare() { - - } + public void onPrepare() {} @Override public boolean onExecute() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNode.java index 8067bb0b51d..3199ce848e5 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Identifiable; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNodeVector.java index 05508f3005e..50d50371d95 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ReverseFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ReverseFunctionNode.java index 34ebbdff46d..bf6d415bbf4 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ReverseFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ReverseFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,9 @@ package com.yahoo.searchlib.expression; */ public class ReverseFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 138, ReverseFunctionNode.class); + public static final int classId = registerClass(0x4000 + 138, ReverseFunctionNode.class, ReverseFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public ReverseFunctionNode() { - - } + public ReverseFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/SingleResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/SingleResultNode.java index cb218385b67..400e1a2860c 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/SingleResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/SingleResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/SortFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/SortFunctionNode.java index 0bc59a55ca2..d6780a29e74 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/SortFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/SortFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -6,14 +6,9 @@ package com.yahoo.searchlib.expression; */ public class SortFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 137, SortFunctionNode.class); + public static final int classId = registerClass(0x4000 + 137, SortFunctionNode.class, SortFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public SortFunctionNode() { - - } + public SortFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StrCatFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StrCatFunctionNode.java index d6de81e78cc..0b8a07afac3 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StrCatFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StrCatFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class StrCatFunctionNode extends MultiArgFunctionNode { - public static final int classId = registerClass(0x4000 + 133, StrCatFunctionNode.class); + public static final int classId = registerClass(0x4000 + 133, StrCatFunctionNode.class, StrCatFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StrLenFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StrLenFunctionNode.java index 7792f452999..bbf2b9b8097 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StrLenFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StrLenFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,9 @@ package com.yahoo.searchlib.expression; */ public class StrLenFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 130, StrLenFunctionNode.class); + public static final int classId = registerClass(0x4000 + 130, StrLenFunctionNode.class, StrLenFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public StrLenFunctionNode() { - - } + public StrLenFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNode.java index a4917da0562..ccd1364a581 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -14,7 +14,7 @@ import com.yahoo.vespa.objects.Serializer; public class StringBucketResultNode extends BucketResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 103, StringBucketResultNode.class); + public static final int classId = registerClass(0x4000 + 103, StringBucketResultNode.class, StringBucketResultNode::new); // bucket start, inclusive private ResultNode from = StringResultNode.getNegativeInfinity(); @@ -27,12 +27,7 @@ public class StringBucketResultNode extends BucketResultNode { return to.equals(from); } - /** - * Constructs an empty result node. - */ - public StringBucketResultNode() { - // empty - } + public StringBucketResultNode() {} /** * Create a bucket with the given limits diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNodeVector.java index 9cfb2085cc0..41593998cb4 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringBucketResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,16 +15,15 @@ import java.util.ArrayList; public class StringBucketResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 114, StringBucketResultNodeVector.class); - private ArrayList<StringBucketResultNode> vector = new ArrayList<StringBucketResultNode>(); + public static final int classId = registerClass(0x4000 + 114, StringBucketResultNodeVector.class, StringBucketResultNodeVector::new); + private ArrayList<StringBucketResultNode> vector = new ArrayList<>(); @Override protected int onGetClassId() { return classId; } - public StringBucketResultNodeVector() { - } + public StringBucketResultNodeVector() {} public StringBucketResultNodeVector add(StringBucketResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNode.java index b90a5aadbb6..ffd73bf2944 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.text.Utf8; @@ -17,7 +17,7 @@ import java.util.Arrays; public class StringResultNode extends SingleResultNode { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 53, StringResultNode.class); + public static final int classId = registerClass(0x4000 + 53, StringResultNode.class, StringResultNode::new); private static final StringResultNode negativeInfinity = new StringResultNode(""); private static final PositiveInfinityResultNode positiveInfinity = new PositiveInfinityResultNode(); @@ -92,7 +92,7 @@ public class StringResultNode extends SingleResultNode { @Override public long getInteger() { try { - return Integer.valueOf(getString()); + return Integer.parseInt(getString()); } catch (java.lang.NumberFormatException e) { return 0; } @@ -101,7 +101,7 @@ public class StringResultNode extends SingleResultNode { @Override public double getFloat() { try { - return Double.valueOf(getString()); + return Double.parseDouble(getString()); } catch (java.lang.NumberFormatException e) { return 0; } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNodeVector.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNodeVector.java index 98273faaf57..142982d4f11 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNodeVector.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNodeVector.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -15,7 +15,7 @@ import java.util.ArrayList; public class StringResultNodeVector extends ResultNodeVector { // The global class identifier shared with C++. - public static final int classId = registerClass(0x4000 + 111, StringResultNodeVector.class); + public static final int classId = registerClass(0x4000 + 111, StringResultNodeVector.class, StringResultNodeVector::new); private ArrayList<StringResultNode> vector = new ArrayList<StringResultNode>(); @Override @@ -23,8 +23,7 @@ public class StringResultNodeVector extends ResultNodeVector { return classId; } - public StringResultNodeVector() { - } + public StringResultNodeVector() {} public StringResultNodeVector add(StringResultNode v) { vector.add(v); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/TimeStampFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/TimeStampFunctionNode.java index 40de9154099..6332a7134c1 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/TimeStampFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/TimeStampFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -40,14 +40,11 @@ public class TimeStampFunctionNode extends UnaryFunctionNode { } } - public static final int classId = registerClass(0x4000 + 75, TimeStampFunctionNode.class); + public static final int classId = registerClass(0x4000 + 75, TimeStampFunctionNode.class, TimeStampFunctionNode::new); private TimePart timePart = TimePart.Year; private boolean isGmt = false; - @SuppressWarnings("UnusedDeclaration") - public TimeStampFunctionNode() { - // used by deserializer - } + public TimeStampFunctionNode() {} /** * <p>Create a bucket expression with the given width and the given subexpression.</p> diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToFloatFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToFloatFunctionNode.java index 832cafc3002..bd8941540bc 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToFloatFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToFloatFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,9 @@ package com.yahoo.searchlib.expression; */ public class ToFloatFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 134, ToFloatFunctionNode.class); + public static final int classId = registerClass(0x4000 + 134, ToFloatFunctionNode.class, ToFloatFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public ToFloatFunctionNode() { - - } + public ToFloatFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToIntFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToIntFunctionNode.java index 83afc34ea96..a5bf319dcda 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToIntFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToIntFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,9 @@ package com.yahoo.searchlib.expression; */ public class ToIntFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 135, ToIntFunctionNode.class); + public static final int classId = registerClass(0x4000 + 135, ToIntFunctionNode.class, ToIntFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public ToIntFunctionNode() { - - } + public ToIntFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToRawFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToRawFunctionNode.java index e30c8ea9e53..15480ce719c 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToRawFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToRawFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -8,14 +8,9 @@ package com.yahoo.searchlib.expression; */ public class ToRawFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 141, ToRawFunctionNode.class); + public static final int classId = registerClass(0x4000 + 141, ToRawFunctionNode.class, ToRawFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public ToRawFunctionNode() { - - } + public ToRawFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToStringFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToStringFunctionNode.java index e603ab0811d..4cfc54e4341 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ToStringFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ToStringFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,14 +9,9 @@ package com.yahoo.searchlib.expression; */ public class ToStringFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 131, ToStringFunctionNode.class); + public static final int classId = registerClass(0x4000 + 131, ToStringFunctionNode.class, ToStringFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public ToStringFunctionNode() { - - } + public ToStringFunctionNode() {} /** * Constructs an instance of this class with given argument. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/UcaFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/UcaFunctionNode.java index fdb03b4366b..df1e54b66ef 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/UcaFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/UcaFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -12,16 +12,11 @@ import com.yahoo.vespa.objects.Serializer; */ public class UcaFunctionNode extends UnaryFunctionNode { - public static final int classId = registerClass(0x4000 + 140, UcaFunctionNode.class); + public static final int classId = registerClass(0x4000 + 140, UcaFunctionNode.class, UcaFunctionNode::new); private String locale = "en-US"; private String strength = "TERTIARY"; - /** - * Constructs an empty result node. - */ - public UcaFunctionNode() { - // empty - } + public UcaFunctionNode() {} /** * Create an UCA node with a specific locale. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryBitFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryBitFunctionNode.java index a16a527e95a..1def3586471 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryBitFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryBitFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -19,9 +19,7 @@ public abstract class UnaryBitFunctionNode extends UnaryFunctionNode { /** * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. */ - public UnaryBitFunctionNode() { - - } + public UnaryBitFunctionNode() {} /** * Constructs an instance of this class with given argument and number of bits. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryFunctionNode.java index 1686453eed8..44ae86a82d2 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/UnaryFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/XorBitFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/XorBitFunctionNode.java index bbdc75f9cd0..dba95e4150d 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/XorBitFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/XorBitFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -12,14 +12,9 @@ package com.yahoo.searchlib.expression; */ public class XorBitFunctionNode extends UnaryBitFunctionNode { - public static final int classId = registerClass(0x4000 + 71, XorBitFunctionNode.class); + public static final int classId = registerClass(0x4000 + 71, XorBitFunctionNode.class, XorBitFunctionNode::new); - /** - * Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. - */ - public XorBitFunctionNode() { - - } + public XorBitFunctionNode() {} /** * Constructs an instance of this class with given argument and number of bits. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/XorFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/XorFunctionNode.java index afbac4985fc..2cab47f8ed6 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/XorFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/XorFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; /** @@ -9,7 +9,7 @@ package com.yahoo.searchlib.expression; */ public class XorFunctionNode extends BitFunctionNode { - public static final int classId = registerClass(0x4000 + 69, XorFunctionNode.class); + public static final int classId = registerClass(0x4000 + 69, XorFunctionNode.class, XorFunctionNode::new); @Override protected int onGetClassId() { diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ZCurveFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ZCurveFunctionNode.java index e3ff7754d6a..a068c4ed189 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ZCurveFunctionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ZCurveFunctionNode.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.expression; import com.yahoo.vespa.objects.Deserializer; @@ -32,13 +32,10 @@ public class ZCurveFunctionNode extends UnaryFunctionNode { } } - public static final int classId = registerClass(0x4000 + 139, ZCurveFunctionNode.class); + public static final int classId = registerClass(0x4000 + 139, ZCurveFunctionNode.class, ZCurveFunctionNode::new); private Dimension dim = Dimension.X; - @SuppressWarnings("UnusedDeclaration") - public ZCurveFunctionNode() { - // used by deserializer - } + private ZCurveFunctionNode() {} public ZCurveFunctionNode(ExpressionNode arg, Dimension dimension) { addArg(arg); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/package-info.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/package-info.java index d52fc3063f5..4ef1590ffa5 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/package-info.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/package-info.java @@ -1,4 +1,4 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage package com.yahoo.searchlib.expression; |