/*
 * 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 ); } }