allow setting size directly on all binding functions for collections

This commit is contained in:
Jonathan Shook 2020-07-17 18:43:54 -05:00
parent b35426c390
commit a341974707
8 changed files with 37 additions and 0 deletions

View File

@ -43,6 +43,11 @@ public class ListSizedHashed implements LongFunction<List<Object>> {
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
public ListSizedHashed(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
@Override
public List<Object> apply(long value) {
int size = sizeFunc.applyAsInt(value);

View File

@ -39,6 +39,10 @@ public class ListSizedStepped implements LongFunction<List<Object>> {
this.sizeFunc = VirtDataConversions.adaptFunction(sizeFunc,LongToIntFunction.class);
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
public ListSizedStepped(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
@Override
public List<Object> apply(long value) {

View File

@ -40,6 +40,11 @@ public class MapSized implements LongFunction<java.util.Map<Object,Object>> {
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1,LongFunction.class, funcs);
}
public MapSized(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1,LongFunction.class, funcs);
}
@Override
public java.util.Map<Object,Object> apply(long value) {

View File

@ -46,6 +46,11 @@ public class MapSizedHashed implements LongFunction<java.util.Map<Object,Object>
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1, LongFunction.class, funcs);
}
public MapSizedHashed(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1, LongFunction.class, funcs);
}
@Override
public java.util.Map<Object,Object> apply(long value) {

View File

@ -39,6 +39,11 @@ public class MapSizedStepped implements LongFunction<java.util.Map<Object,Object
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1, LongFunction.class, funcs);
}
public MapSizedStepped(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.keyFuncs = VirtDataConversions.getFunctions(2, 0, LongFunction.class, funcs);
this.valueFuncs = VirtDataConversions.getFunctions(2,1, LongFunction.class, funcs);
}
@Override
public java.util.Map<Object,Object> apply(long value) {

View File

@ -36,6 +36,10 @@ public class SetSized implements LongFunction<java.util.Set<Object>> {
this.sizeFunc = VirtDataConversions.adaptFunction(sizeFunc, LongToIntFunction.class);
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
public SetSized(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
@Override
public java.util.Set<Object> apply(long value) {

View File

@ -37,6 +37,10 @@ public class SetSizedHashed implements LongFunction<java.util.Set<Object>> {
this.sizeFunc = VirtDataConversions.adaptFunction(sizeFunc, LongToIntFunction.class);
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
public SetSizedHashed(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
@Override
public java.util.Set<Object> apply(long value) {

View File

@ -36,6 +36,11 @@ public class SetSizedStepped implements LongFunction<java.util.Set<Object>> {
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
public SetSizedStepped(int size, Object... funcs) {
this.sizeFunc = s -> size;
this.valueFuncs = VirtDataConversions.adaptFunctionList(funcs, LongFunction.class, Object.class);
}
@Override
public java.util.Set<Object> apply(long value) {
int size = sizeFunc.applyAsInt(value);