put required categories on all binding functions, not just one of each name

This commit is contained in:
Jonathan Shook
2022-12-21 14:59:12 -06:00
parent b528a4e29c
commit 54546ce9ab
76 changed files with 220 additions and 82 deletions

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class Add implements LongToIntFunction {
private final long addend;

View File

@@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Description;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -22,6 +24,7 @@ import java.util.function.LongToIntFunction;
@Description("divides the operand by an long and returns the whole part")
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements LongToIntFunction {
private final int divisor;

View File

@@ -28,7 +28,6 @@ import java.util.function.LongToIntFunction;
*/
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongToIntFunction {
private final int fixedValue;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements LongToIntFunction {
public Mul(int multiplicand) {

View File

@@ -1,40 +0,0 @@
/*
* Copyright (c) 2022 nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongToIntFunction;
@ThreadSafeMapper
@Deprecated
@Categories({Category.general})
public class Scale implements LongToIntFunction {
private final double scaleFactor;
public Scale(double scaleFactor) {
this.scaleFactor = scaleFactor;
}
@Override
public int applyAsInt(long value) {
return (int) (scaleFactor * (double) value);
}
}

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Add implements LongUnaryOperator {
private final long addend;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class AddCycleRange implements LongUnaryOperator {
private final CycleRange cycleRange;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class AddHashRange implements LongUnaryOperator {
private final HashRange hashRange;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -26,6 +28,7 @@ import java.util.function.LongUnaryOperator;
* at most the maximum value.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Clamp implements LongUnaryOperator {
private final long min;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class CycleRange implements LongUnaryOperator {
private final long minValue;

View File

@@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Divide the operand by a fixed value and return the result.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements LongUnaryOperator {
private final long divisor;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongUnaryOperator {
private final long fixedValue;

View File

@@ -17,6 +17,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -33,6 +35,7 @@ import java.util.function.LongUnaryOperator;
* (5,6), or as wide as the relevant data type allows.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashInterval implements LongUnaryOperator {
private final long minValue;

View File

@@ -17,6 +17,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@@ -30,6 +32,7 @@ import java.util.function.LongUnaryOperator;
* (5,5), or as wide as the relevant data type allows.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashRange implements LongUnaryOperator {
private final long minValue;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@@ -25,6 +27,7 @@ import java.util.function.LongUnaryOperator;
* a scale factor, with a default scale factor of 1.0d
*/
@ThreadSafeMapper
@Categories({Category.general})
public class HashRangeScaled implements LongUnaryOperator {
private final double scalefactor;

View File

@@ -17,12 +17,15 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Interpolate implements LongUnaryOperator {
private final io.nosqlbench.virtdata.library.basics.shared.from_long.to_double.Interpolate basefunc;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -25,6 +27,7 @@ import java.util.function.LongUnaryOperator;
* Return the maximum of either the input value or the specified max.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Max implements LongUnaryOperator {
private final long max;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Return the minimum of either the input value or the specified minimum.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Min implements LongUnaryOperator {
private final long min;

View File

@@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@@ -23,6 +25,7 @@ import java.util.function.LongUnaryOperator;
* Return the result of modulo division by the specified divisor.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Mod implements LongUnaryOperator {
private final Long modulo;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongUnaryOperator;
@@ -24,6 +26,7 @@ import java.util.function.LongUnaryOperator;
* Return the result of multiplying the specified value with the input.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements LongUnaryOperator {
public Mul(long multiplicand) {

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import io.nosqlbench.virtdata.murmur.Murmur3F;
@@ -32,6 +34,7 @@ import java.util.function.LongUnaryOperator;
* as well as negative values.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class SignedHash implements LongUnaryOperator {
// TODO: Bench this against the non-state based TL implementations

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -38,6 +40,7 @@ import java.util.function.LongUnaryOperator;
* join the project or let us know.</p>
*/
@ThreadSafeMapper
@Categories({Category.experimental})
public class TriangularStep implements LongUnaryOperator {
private final Hash hasher = new Hash();

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.LongFunction;
@ThreadSafeMapper
@Categories({Category.general})
public class FixedValue implements LongFunction<String> {
private final String value;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.from_uuid;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -26,8 +28,9 @@ import java.util.UUID;
import java.util.function.Function;
@ThreadSafeMapper
@Categories(Category.conversion)
public class ToBase64String implements Function<UUID,String> {
private ThreadLocal<Base64.Encoder> tl_encoder = ThreadLocal.withInitial(Base64::getEncoder);
private final ThreadLocal<Base64.Encoder> tl_encoder = ThreadLocal.withInitial(Base64::getEncoder);
@Example({"ToBase64String()","Encode the bits of a UUID into a Base64 String"})
public ToBase64String() {

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@@ -24,6 +26,7 @@ import java.util.function.IntUnaryOperator;
* Adds a cycle range to the input, producing an increasing sawtooth-like output.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class AddCycleRange implements IntUnaryOperator {
private final CycleRange cycleRange;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@@ -24,6 +26,7 @@ import java.util.function.IntUnaryOperator;
* Adds a pseudo-random value within the specified range to the input.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class AddHashRange implements IntUnaryOperator {
private final io.nosqlbench.virtdata.library.basics.shared.unary_int.HashRange hashRange;

View File

@@ -16,12 +16,15 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Clamp implements IntUnaryOperator {
private final int min;

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -25,6 +27,7 @@ import java.util.function.IntUnaryOperator;
* Yields a value within a specified range, which rolls over continuously.
*/
@ThreadSafeMapper
@Categories({Category.general})
public class CycleRange implements IntUnaryOperator {
private final int minValue;

View File

@@ -15,6 +15,8 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Description;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
@@ -22,6 +24,7 @@ import java.util.function.IntUnaryOperator;
@Description("divides the operand by an integer and returns the whole part")
@ThreadSafeMapper
@Categories({Category.general})
public class Div implements IntUnaryOperator {
private final int divisor;

View File

@@ -17,12 +17,15 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.Example;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashInterval implements IntUnaryOperator {
private final int minValue;

View File

@@ -17,11 +17,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.api.errors.BasicError;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashRange implements IntUnaryOperator {
private final int minValue;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class HashRangeScaled implements IntUnaryOperator {
private final Hash hash = new Hash();

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Max implements IntUnaryOperator {
private final int max;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Min implements IntUnaryOperator {
private final int min;

View File

@@ -15,11 +15,14 @@
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Mod implements IntUnaryOperator {
private final int modulo;

View File

@@ -16,11 +16,14 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class Mul implements IntUnaryOperator {
public Mul(int addend) {

View File

@@ -1,40 +0,0 @@
/*
* Copyright (c) 2022 nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.IntUnaryOperator;
/**
* Scale the input by the factor provided.
* @deprecated use Mul(...) instead
*/
@ThreadSafeMapper
public class Scale implements IntUnaryOperator {
private final double scaleFactor;
public Scale(double scaleFactor) {
this.scaleFactor = scaleFactor;
}
@Override
public int applyAsInt(int operand) {
return (int) (scaleFactor * (double) operand);
}
}

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_int;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import io.nosqlbench.virtdata.murmur.Murmur3F;
@@ -23,6 +25,7 @@ import java.nio.ByteBuffer;
import java.util.function.IntUnaryOperator;
@ThreadSafeMapper
@Categories({Category.general})
public class SignedHash implements IntUnaryOperator {
private final ThreadLocal<Murmur3F> murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new);

View File

@@ -16,6 +16,8 @@
package io.nosqlbench.virtdata.library.basics.shared.unary_string;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.util.function.Function;
@@ -26,6 +28,7 @@ import java.util.function.Function;
* String.valueOf() to the result.
*/
@ThreadSafeMapper
@Categories({Category.conversion})
public class ToString implements Function<Object,String> {
@Override