1 // $Id: XPathFunction.java,v 1.10 2004/02/11 20:14:32 ndw Exp $ 2 3 /* 4 * @(#)XPathFunction.java 1.5 04/07/26 5 * 6 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 8 */ 9 10 package javax.xml.xpath; 11 12 import java.util.List; 13 14 /** 15 * <p><code>XPathFunction</code> provides access to XPath functions.</p> 16 * 17 * <p>Functions are identified by QName and arity in XPath.</p> 18 * 19 * @author <a HREF="mailto:Norman.Walsh@Sun.com">Norman Walsh</a> 20 * @author <a HREF="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a> 21 * @version $Revision: 1.10 $, $Date: 2004/02/11 20:14:32 $ 22 * @since 1.5 23 */ 24 public interface XPathFunction { 25 /** 26 * <p>Evaluate the function with the specified arguments.</p> 27 * 28 * <p>To the greatest extent possible, side-effects should be avoided in the 29 * definition of extension functions. The implementation evaluating an 30 * XPath expression is under no obligation to call extension functions in 31 * any particular order or any particular number of times.</p> 32 * 33 * @param args The arguments, <code>null</code> is a valid value. 34 * 35 * @return The result of evaluating the <code>XPath</code> function as an <code>Object</code>. 36 * 37 * @throws XPathFunctionException If <code>args</code> cannot be evaluated with this <code>XPath</code> function. 38 */ 39 public Object evaluate(List args) 40 throws XPathFunctionException; 41 } 42 43