Class FunctionFinder

Object
FunctionFinder

public class FunctionFinder extends Object
Isolate function lookup code from Factory implementation(s).

This is done to look for two things:

  • org.geotools.filter.Function
  • org.geotools.api.filter.expression.Function
This is done as a proper utility class that accepts Hints.
Author:
Jody Garnett
  • Constructor Details

    • FunctionFinder

      public FunctionFinder(Hints hints)
  • Method Details

    • getAllFunctionDescriptions

      public List<FunctionName> getAllFunctionDescriptions()
      Return a List of FunctionName's describing the functions currently available.
      Returns:
      List describing available functions
    • findFunctionDescription

      public FunctionName findFunctionDescription(String name)
      Lookup the FunctionName description.
      Parameters:
      name - Function name; this will need to be an exact match
      Returns:
      FunctioName description, or null if function is not available
    • findFunctionDescription

      public FunctionName findFunctionDescription(Name name)
      Lookup the FunctionName description.
      Parameters:
      name - Function name; this will need to be an exact match
      Returns:
      FunctioName description, or null if function is not available
    • findFunction

      public Function findFunction(String name)
    • findFunction

      public Function findFunction(Name name)
    • findFunction

      public Function findFunction(String name, List<Expression> parameters)
      Look up a function for the provided name.
      Parameters:
      name - Function name; this will need to be an exact match
      parameters - Set of parameters required
      Returns:
      Generated function
      Throws:
      a - RuntimeException if an implementation for name could not be found
    • findFunction

      public Function findFunction(Name name, List<Expression> parameters)
      Look up a function for the provided name.
      Parameters:
      name - Function name; this will need to be an exact match
      parameters - Set of parameters required
      Returns:
      Generated function
      Throws:
      a - RuntimeException if an implementation for name could not be found
    • findFunction

      public Function findFunction(String name, List<Expression> parameters, Literal fallback)
      Look up a function for the provided name, may return a FallbackFunction if an implementation could not be found.

      You can create a function to represent an SQL function or a function hosted on an external service; the fallback value will be used if you evulate by a Java implementation on the classpath.

      Parameters:
      name - Function name; this will need to be an exact match
      parameters - Set of Expressions to use as function parameters
      fallback - Literal to use if an implementation could not be found
      Returns:
      Function for the provided name, may be a FallbackFunction if an implementation could not be found
    • findFunction

      public Function findFunction(Name name, List<Expression> parameters, Literal fallback)
      Look up a function for the provided name, may return a FallbackFunction if an implementation could not be found.

      You can create a function to represent an SQL function or a function hosted on an external service; the fallback value will be used if you evulate by a Java implementation on the classpath.

      Parameters:
      name - Function name; this will need to be an exact match
      parameters - Set of Expressions to use as function parameters
      fallback - Literal to use if an implementation could not be found
      Returns:
      Function for the provided name, may be a FallbackFunction if an implementation could not be found