Class FunctionTree


  • public class FunctionTree
    extends Object
    Data structure used to store function signature information. There are multiple uses of this signature information so there are multiple data structures within the FunctionTree for handling each. One type of information is the function metadata required by users of this class for data driving GUIs or function selection. The other type of information is that needed to quickly find and/or invoke the functions at execution time. In general all methods are concerned with function metadata EXCEPT getFunction(java.lang.String, java.lang.Class<?>[]) which is used to find a function for execution.
    • Constructor Detail

      • FunctionTree

        public FunctionTree​(String name,
                            FunctionMetadataSource source)
        Construct a new tree with the given source of function metadata.
        Parameters:
        source - The metadata source
      • FunctionTree

        public FunctionTree​(String name,
                            FunctionMetadataSource source,
                            boolean validateClass)
        Construct a new tree with the given source of function metadata.
        Parameters:
        source - The metadata source
    • Method Detail

      • getSchemaName

        public String getSchemaName()
      • addFunction

        public FunctionDescriptor addFunction​(String schema,
                                              FunctionMetadataSource source,
                                              FunctionMethod method,
                                              boolean system)
        Store the method for function resolution and invocation.
        Parameters:
        source - The function metadata source, which knows how to obtain the invocation class
        method - The function metadata for a particular method signature
      • getFunctionProcedures

        public static FunctionTree getFunctionProcedures​(Schema schema)
      • hasFunctionWithName

        public boolean hasFunctionWithName​(String name)