1 /** 2 * com.mckoi.database.FunctionLookup 07 Sep 2001 3 * 4 * Mckoi SQL Database ( http://www.mckoi.com/database ) 5 * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * Version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License Version 2 for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * Version 2 along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 * 20 * Change Log: 21 * 22 * 23 */ 24 25 package com.mckoi.database; 26 27 /** 28 * An interface that resolves and generates a Function objects given a 29 * FunctionDef object. 30 * 31 * @author Tobias Downer 32 */ 33 34 public interface FunctionLookup { 35 36 /** 37 * Generate the Function given a FunctionDef object. Returns null if the 38 * FunctionDef can not be resolved to a valid function object. If the 39 * specification of the function is invalid for some reason (the number or 40 * type of the parameters is incorrect) then a StatementException is thrown. 41 */ 42 Function generateFunction(FunctionDef function_def); 43 44 /** 45 * Returns true if the function defined by FunctionDef is an aggregate 46 * function, or false otherwise. 47 */ 48 boolean isAggregate(FunctionDef function_def); 49 50 } 51