public abstract class QueryModule extends Object
The XQuery import module
statement can be used to import XQuery modules
as well as Java instances, which will be treated as modules. Any class with a public,
empty constructor can be imported as module.
If a class extends the QueryModule
class, it inherits the queryContext
and staticContext
variables, which provide access to all properties of the
current query. E.g., they provide access to the current context value
or the declared namespaces
of a query.
The default properties of functions can be overwritten via annotations:
ADMIN
permissions.
You may annotate a function with QueryModule.Requires
(QueryModule.Permission
) to
also make it accessible to users with less privileges.QueryModule.Deterministic
if you know that it will have no side-effects and will
always yield the same result.queryContext
, it should be annotated as
QueryModule.ContextDependent
.QueryModule.FocusDependent
.QueryResource
is implemented, its QueryResource.close()
method will be
called after the query has been evaluated. It should always be implemented if a module opens
connections, resources, etc. that eventually need to be closed.
Please visit our documentation to find more details on Packaging, Java Bindings and User Management. The XQuery 3.0 specification gives more insight into function properties.
Modifier and Type | Class and Description |
---|---|
static interface |
QueryModule.ContextDependent
Java code is treated as "context-independent".
|
static interface |
QueryModule.Deterministic
Java code is treated as "non-deterministic", as its behavior cannot be predicted from
the XQuery processor.
|
static interface |
QueryModule.FocusDependent
Java code is treated as "focus-independent".
|
static interface |
QueryModule.Lock
Set additional locks to be fetched.
|
static class |
QueryModule.Permission
Permission required to call a function.
|
static interface |
QueryModule.Requires
Java functions can only be executed by users with
ADMIN permissions. |
Modifier and Type | Field and Description |
---|---|
QueryContext |
queryContext
Global query context.
|
StaticContext |
staticContext
Static context.
|
Constructor and Description |
---|
QueryModule() |
public QueryContext queryContext
public StaticContext staticContext
Copyright © 2005–2015 BaseX Team. All rights reserved.