Class GeometryFunctionRegistry

java.lang.Object
org.locationtech.jtstest.geomfunction.GeometryFunctionRegistry

public class GeometryFunctionRegistry extends Object
A registry to manage a collection of GeometryFunctions.
Author:
Martin Davis
  • Constructor Details

    • GeometryFunctionRegistry

      public GeometryFunctionRegistry()
    • GeometryFunctionRegistry

      public GeometryFunctionRegistry(Class<?> clz)
  • Method Details

    • createTestBuilderRegistry

      public static GeometryFunctionRegistry createTestBuilderRegistry()
    • functionDescriptionHTML

      public static String functionDescriptionHTML(GeometryFunction func)
    • getFunctions

      public List<GeometryFunction> getFunctions()
    • getGeometryFunctions

      public List<GeometryFunction> getGeometryFunctions()
    • hasGeometryResult

      public static boolean hasGeometryResult(GeometryFunction func)
    • getScalarFunctions

      public List<GeometryFunction> getScalarFunctions()
    • add

      public void add(Class<?> geomFuncClass)
      Adds functions for all the static methods in the given class.
      Parameters:
      geomFuncClass -
    • add

      public void add(String geomFuncClassname) throws ClassNotFoundException
      Adds functions for all the static methods in the given class.
      Parameters:
      geomFuncClassname - the name of the class to load and extract functions from
      Throws:
      ClassNotFoundException
    • add

      public void add(Collection<StaticMethodGeometryFunction> funcs)
    • createFunctions

      public List<StaticMethodGeometryFunction> createFunctions(Class<?> functionClass)
      Create GeometryFunctions for all the static methods in the given class
      Parameters:
      functionClass -
      Returns:
      a list of the functions created
    • isGeometryFunction

      public static boolean isGeometryFunction(Method method)
    • add

      public void add(GeometryFunction func)
      Adds a function if it does not currently exist in the registry, or replaces the existing one with the same signature.
      Parameters:
      func - a function
    • getCategorizedGeometryFunctions

      public DoubleKeyMap getCategorizedGeometryFunctions()
    • getCategorizedScalarFunctions

      public DoubleKeyMap getCategorizedScalarFunctions()
    • getCategories

      public Collection<?> getCategories()
    • getFunctions

      public Collection<?> getFunctions(String category)
    • find

      public GeometryFunction find(String name, Class<Object>[] paramTypes)
      Finds the first function which matches the given signature.
      Parameters:
      name -
      paramTypes -
      Returns:
      a matching function, or null
    • find

      public GeometryFunction find(String name, int argCount)
      Finds the first function which matches the given name and argument count.
      Parameters:
      name -
      Returns:
      a matching function, or null
    • find

      public GeometryFunction find(String name)
      Finds the first function which matches the given name.
      Parameters:
      name -
      Returns:
      a matching function, or null
    • find

      public GeometryFunction find(String category, String name)
      Finds the first function which matches the given category and name.
      Parameters:
      name -
      Returns:
      a matching function, or null