Class VirtDataLibraries

    • Method Summary

      Modifier and Type Method Description
      static VirtDataLibraries get()  
      java.lang.String getName()
      Return the name for this function library implementation.
      java.util.List<ResolvedFunction> resolveFunctions​(java.lang.Class<?> returnType, java.lang.Class<?> inputType, java.lang.String functionName, java.util.Map<java.lang.String,​?> customConfig, java.lang.Object... parameters)
      Given a signature for a unary function which takes an input and output type, a function name, and constructor arguments, return a list of instances from all implementations that have the same name as the function name, which have a matching constructor signature, and which also have a functional method which can be used with the provided input and output types.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: Named

        Return the name for this function library implementation.

        Specified by:
        getName in interface Named
        Returns:
        Simple lower-case canonical library name
      • resolveFunctions

        public java.util.List<ResolvedFunction> resolveFunctions​(java.lang.Class<?> returnType,
                                                                 java.lang.Class<?> inputType,
                                                                 java.lang.String functionName,
                                                                 java.util.Map<java.lang.String,​?> customConfig,
                                                                 java.lang.Object... parameters)
        Description copied from interface: VirtDataFunctionLibrary
        Given a signature for a unary function which takes an input and output type, a function name, and constructor arguments, return a list of instances from all implementations that have the same name as the function name, which have a matching constructor signature, and which also have a functional method which can be used with the provided input and output types. The input and output types are optionally specified. If either is provided, the returned functions should be constrained to match, but otherwise all possibly matching functions are included. Further, the argument should not be strict type checks, but should allow any matching constructor for which a compatible assignment can be made. The specified function name does not have to map to a
        Specified by:
        resolveFunctions in interface VirtDataFunctionLibrary
        Parameters:
        returnType - The class which the apply method should return, or null if unspecified
        inputType - The class which the unary apply method should take as an argument, or null if unspecified
        functionName - The name of the implementation to match
        parameters - A list of arguments which will be used to instantiate any matching implementations
        Returns:
        A list, possibly empty, of matching functions