    1   /*
    2    * Copyright 1999-2004 The Apache Software Foundation
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  package org.apache.commons.jxpath;
    17
    18  import java.util.Set;
    19
    20  /***
    21   * A group of Function objects sharing a common namespace or a set of
    22   * common namespaces. Use the classes
    23   * {@link ClassFunctions ClassFunctions} and
    24   * {@link PackageFunctions PackageFunctions}
    25   * to register extension functions implemented as Java methods.
    26   *
    27   * @author Dmitri Plotnikov
    28   * @version $Revision: 1.7 $ $Date: 2004/02/29 14:17:42 $
    29   */
    30  public interface Functions {
    31
    32      /***
    33       * Returns all namespaces in which this function collection defines
    34       * functions.
    35       */
    36      Set getUsedNamespaces();
    37
    38      /***
    39       * Returns a Function, if any, for the specified namespace,
    40       * name and parameter types.
    41       */
    42      Function getFunction(String namespace, String name, Object[] parameters);
    43  }