diff --git a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java index 5e77dce0b..06f51e3c7 100644 --- a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java +++ b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java @@ -18,6 +18,7 @@ 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.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.api.bindings.VirtDataConversions; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -36,15 +37,26 @@ public class AlphaNumericString implements LongFunction { private final Hash hash = new Hash(); private final LongToIntFunction lengthFunc; - - public AlphaNumericString(int length) - { - this.lengthFunc = (l) -> length; + @Example({ + "AlphaNumericString(10)", + "Create a 10-character alpha-numeric string" + }) + @Example({ + "AlphaNumericString(HashRange(10, 20))", + "Create an alpha-numeric string with a length between 10 and 20 characters" + }) + public AlphaNumericString(int length) { + this.lengthFunc = l -> length; } - public AlphaNumericString(Object lengthfunc) - { - this.lengthFunc = VirtDataConversions.adaptFunction(lengthfunc, LongToIntFunction.class); + public AlphaNumericString(Object lengthfunc) { + if (lengthfunc instanceof Number) { + int length = ((Number) lengthfunc).intValue(); + this.lengthFunc = l -> length; + } + else { + this.lengthFunc = VirtDataConversions.adaptFunction(lengthfunc, LongToIntFunction.class); + } } @Override