Class ArgsComparator

java.lang.Object
io.nosqlbench.virtdata.core.bindings.ArgsComparator
All Implemented Interfaces:
Comparator<Constructor<?>>

public class ArgsComparator extends Object implements Comparator<Constructor<?>>
  • Constructor Details

    • ArgsComparator

      public ArgsComparator(Object[] parameters)
  • Method Details

    • compare

      public int compare(Constructor<?> o1, Constructor<?> o2)
      Specified by:
      compare in interface Comparator<Constructor<?>>
    • matchRank

      public ArgsComparator.MATCHRANK matchRank(Constructor<?> ctor, Object[] arguments)
      Establish a priority value (lower is better) based on how well the arguments match to the given constructor's parameters. Note: The distinction between primitives and boxed types is lost here, as the primitive version of Classinvalid input: '<'?> is only accessible via Long.TYPE and similar, so primitive matching and auto-boxed matching are effectively the same rank. rank 0 -> all arguments are the same type or boxed type rank 1 -> all arguments are assignable, without autoboxing rank 2 -> all arguments are assignable, with autoboxing rank 3 -> not all arguments are assignable
      Parameters:
      ctor - - constructor
      arguments - - arguments to match against
      Returns:
      a lower number for when arguments match parameters better