public class XmlExternalFunction
extends java.lang.Object
XmlResolver.resolveExternalFunction(com.sleepycat.dbxml.XmlTransaction, com.sleepycat.dbxml.XmlManager, java.lang.String, java.lang.String, int)
. Returned instances may be
singleton objects which means the application must eventually free the
memory, or new instances in which case the instance should delete itself
in its close()
method.Constructor and Description |
---|
XmlExternalFunction() |
Modifier and Type | Method and Description |
---|---|
void |
close()
This method is called when the query has finished using the object.
|
XmlResults |
execute(XmlTransaction txn,
XmlManager mgr,
XmlArguments args)
This method is called from within a query to execute the function for
which the instance was implemented.
|
public XmlResults execute(XmlTransaction txn, XmlManager mgr, XmlArguments args) throws XmlException
XmlResults
object used by the query for further processing.txn
- The XmlTransaction
in which the operation is running.mgr
- The XmlManager
instance controlling the operation.args
- The XmlArguments
object that can be used to retrieve
the function arguments.XmlResults
object containing the results of
executing the function on the given arguments. Please note: if you
return a XmlQueryContext.Eager
XmlResults, you should call its
XmlResults.delete()
method in close()
to release the native resource.XmlException
public void close() throws XmlException
XmlResolver.resolveExternalFunction(com.sleepycat.dbxml.XmlTransaction, com.sleepycat.dbxml.XmlManager, java.lang.String, java.lang.String, int)
then this method will
probably need to delete itself to avoid memory leaks.XmlException
Copyright (c) 2004,2014 Oracle. All rights reserved.