org.geotools.filter
Class FunctionFinder

Object
  extended by FunctionFinder

public class FunctionFinder
extends Object

Isolate function lookup code from Factory implementation(s).

This is done to look for two things:

This is done as a proper utility class that accepts Hints.

Author:
Jody Garnett

Constructor Summary
FunctionFinder(Hints hints)
           
 
Method Summary
 Function findFunction(Name name)
           
 Function findFunction(Name name, List<Expression> parameters)
          Look up a function for the provided name.
 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.
 Function findFunction(String name)
           
 Function findFunction(String name, List<Expression> parameters)
          Look up a function for the provided name.
 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.
 FunctionName findFunctionDescription(Name name)
          Lookup the FunctionName description.
 FunctionName findFunctionDescription(String name)
          Lookup the FunctionName description.
 List<FunctionName> getAllFunctionDescriptions()
          Return a List of FunctionName's describing the functions currently available.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionFinder

public FunctionFinder(Hints hints)
Method Detail

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
fallbackValue - 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
fallbackValue - 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


Copyright © 1996-2014 Geotools. All Rights Reserved.