Class DataMapperFunctionMapper

java.lang.Object
io.nosqlbench.virtdata.core.bindings.DataMapperFunctionMapper

public class DataMapperFunctionMapper extends Object

This class implements an obtuse way of avoiding autoboxing and M:N type mapping complexity by way of doublish dispatch. It was preferred over a more generalized reflection and annotation-based approach. If it gets too verbose, (for some definition of "too"), then it may be refactored.

The primary goal of this approach is to allow for primitive-level lambdas when function are composed together. This will allow for significant performance gains when there are only a few steps in a composed function which are non-primitive, which is the general case.

Composition should be supported between all primitive functions for types listed in TypeMap, as well as generic functions, with generic functions as the last resort.