org.exist.soap
Interface Query

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
QuerySoapBindingImpl, QuerySoapBindingSkeleton, QuerySoapBindingStub

public interface Query
extends java.rmi.Remote

This interface defines eXist's SOAP service for (read-only) queries on the database.


Method Summary
 java.lang.String connect(java.lang.String user, java.lang.String password)
          Create a new user session.
 void disconnect(java.lang.String sessionId)
          Release a user session.
 java.lang.String getResource(java.lang.String sessionId, java.lang.String path, boolean indent, boolean xinclude)
          Retrieve a document from the database.
 Collection listCollection(java.lang.String sessionId, java.lang.String path)
          Get information on the specified collection.
 QueryResponse query(java.lang.String sessionId, java.lang.String xpath)
           
 java.lang.String[] retrieve(java.lang.String sessionId, int start, int howmany, boolean indent, boolean xinclude, java.lang.String highlight)
          Retrieve a set of query results from the last query executed within the current session.
 java.lang.String[] retrieveByDocument(java.lang.String sessionId, int start, int howmany, java.lang.String path, boolean indent, boolean xinclude, java.lang.String highlight)
          For the specified document, retrieve a set of query results from the last query executed within the current session.
 

Method Detail

connect

public java.lang.String connect(java.lang.String user,
                                java.lang.String password)
                         throws java.rmi.RemoteException
Create a new user session. Authenticates the user against the database. The user has to be a valid database user. If the provided user information is valid, a new session will be registered on the server and a session id will be returned. The session will be valid for at least 60 minutes. Please call disconnect() to release the session. Sessions are shared between the Query and Admin services. A session created through the Query service can be used with the Admin service and vice versa.

Parameters:
user -
password -
Returns:
session-id a unique id for the created session
Throws:
java.rmi.RemoteException - if the user cannot log in

disconnect

public void disconnect(java.lang.String sessionId)
                throws java.rmi.RemoteException
Release a user session. This will free all resources (including result sets).

Parameters:
sessionId - a valid session id as returned by connect().
Throws:
java.rmi.RemoteException

getResource

public java.lang.String getResource(java.lang.String sessionId,
                                    java.lang.String path,
                                    boolean indent,
                                    boolean xinclude)
                             throws java.rmi.RemoteException
Retrieve a document from the database.

Parameters:
sessionId - a valid session id as returned by connect().
path - the full path to the document.
indent - should the document be pretty-printed (indented)?
xinclude - should xinclude tags be expanded?
Returns:
the resource as string
Throws:
java.rmi.RemoteException

query

public QueryResponse query(java.lang.String sessionId,
                           java.lang.String xpath)
                    throws java.rmi.RemoteException
Parameters:
sessionId - a valid session id as returned by connect().
xpath - XPath query string.
Returns:
QueryResponse describing the query results.
Throws:
java.rmi.RemoteException

retrieve

public java.lang.String[] retrieve(java.lang.String sessionId,
                                   int start,
                                   int howmany,
                                   boolean indent,
                                   boolean xinclude,
                                   java.lang.String highlight)
                            throws java.rmi.RemoteException
Retrieve a set of query results from the last query executed within the current session. The first result to be retrieved from the result set is defined by the start-parameter. Results are counted from 1.

Parameters:
sessionId - a valid session id as returned by connect().
start - the first result to retrieve.
howmany - number of results to be returned.
indent - should the XML be pretty-printed?
xinclude - should xinclude tags be expanded?
highlight - highlight matching search terms within elements or attributes. Possible values are: "elements" for elements only, "attributes" for attributes only, "both" for elements and attributes, "none" to disable highlighting. For elements, matching terms are surrounded by <exist:match> tags. For attributes, terms are marked with the char sequence "||".
Returns:
Throws:
java.rmi.RemoteException

retrieveByDocument

public java.lang.String[] retrieveByDocument(java.lang.String sessionId,
                                             int start,
                                             int howmany,
                                             java.lang.String path,
                                             boolean indent,
                                             boolean xinclude,
                                             java.lang.String highlight)
                                      throws java.rmi.RemoteException
For the specified document, retrieve a set of query results from the last query executed within the current session. Only hits in the given document (identified by its path) are returned. The first result to be retrieved from the result set is defined by the start-parameter. Results are counted from 1.

Parameters:
sessionId - a valid session id as returned by connect().
start - the first result to retrieve.
howmany - number of results to be returned.
path - the full path to the document.
indent - should the XML be pretty-printed?
xinclude - should xinclude tags be expanded?
highlight - highlight matching search terms within elements or attributes. Possible values are: "elements" for elements only, "attributes" for attributes only, "both" for elements and attributes, "none" to disable highlighting. For elements, matching terms are surrounded by <exist:match> tags. For attributes, terms are marked with the char sequence "||".
Returns:
Throws:
java.rmi.RemoteException

listCollection

public Collection listCollection(java.lang.String sessionId,
                                 java.lang.String path)
                          throws java.rmi.RemoteException
Get information on the specified collection.

Parameters:
sessionId - a valid session id as returned by connect().
path - the full path to the collection.
Returns:
Throws:
java.rmi.RemoteException


Copyright (C) Wolfgang Meier. All rights reserved.