/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect.function;
import java.util.Map;
import java.util.TreeMap;
import org.hibernate.dialect.Dialect;
Defines a registry for SQLFunction instances
Author: Steve Ebersole
/**
* Defines a registry for SQLFunction instances
*
* @author Steve Ebersole
*/
public class SQLFunctionRegistry {
private final Map<String,SQLFunction> functionMap = new TreeMap<String, SQLFunction>(String.CASE_INSENSITIVE_ORDER);
Constructs a SQLFunctionRegistry
Params: - dialect – The dialect
- userFunctionMap – Any application-supplied function definitions
/**
* Constructs a SQLFunctionRegistry
*
* @param dialect The dialect
* @param userFunctionMap Any application-supplied function definitions
*/
public SQLFunctionRegistry(Dialect dialect, Map<String, SQLFunction> userFunctionMap) {
// Apply the Dialect functions first
functionMap.putAll( dialect.getFunctions() );
// so that user supplied functions "override" them
if ( userFunctionMap != null ) {
functionMap.putAll( userFunctionMap );
}
}
Find a SQLFunction by name
Params: - functionName – The name of the function to locate
Returns: The located function, maye return null
/**
* Find a SQLFunction by name
*
* @param functionName The name of the function to locate
*
* @return The located function, maye return {@code null}
*/
public SQLFunction findSQLFunction(String functionName) {
return functionMap.get( functionName );
}
Does this registry contain the named function
Params: - functionName – The name of the function to attempt to locate
Returns: true
if the registry contained that function
/**
* Does this registry contain the named function
*
* @param functionName The name of the function to attempt to locate
*
* @return {@code true} if the registry contained that function
*/
@SuppressWarnings("UnusedDeclaration")
public boolean hasFunction(String functionName) {
return functionMap.containsKey( functionName );
}
}