ojb.odmg.oql
Class OQLQueryImpl

java.lang.Object
  |
  +--ojb.odmg.oql.OQLQueryImpl
All Implemented Interfaces:
OQLQuery

public class OQLQueryImpl
extends java.lang.Object
implements OQLQuery

Insert the type's description here. Creation date: (08.05.01 13:12:58)


Constructor Summary
OQLQueryImpl()
          OQLQueryImpl constructor comment.
 
Method Summary
 void bind(java.lang.Object parameter)
          Bind a parameter to the query.
 void create(java.lang.String queryString)
          Create an OQL query from the string parameter.
 java.lang.Object execute()
          Execute the query.
protected  java.lang.Class getCollectionClass()
          returns the collection type to be used to contain oql query result sets
 Query getQuery()
          returns the compiled query object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OQLQueryImpl

public OQLQueryImpl()
OQLQueryImpl constructor comment.

Method Detail

getQuery

public Query getQuery()
returns the compiled query object


getCollectionClass

protected java.lang.Class getCollectionClass()
returns the collection type to be used to contain oql query result sets


bind

public void bind(java.lang.Object parameter)
          throws QueryParameterCountInvalidException,
                 QueryParameterTypeInvalidException
Bind a parameter to the query. A parameter is denoted in the query string passed to create by $i, where i is the rank of the parameter, beginning with 1. The parameters are set consecutively by calling this method bind. The ith variable is set by the ith call to the bind method. If any of the $i are not set by a call to bind at the point execute is called, QueryParameterCountInvalidException is thrown. The parameters must be objects, and the result is an Object. Objects must be used instead of primitive types (Integer instead of int) for passing the parameters.

If the parameter is of the wrong type, QueryParameterTypeInvalidException is thrown. After executing a query, the parameter list is reset.

Specified by:
bind in interface OQLQuery
Throws:
QueryParameterCountInvalidException - The number of calls to bind has exceeded the number of parameters in the query.
QueryParameterTypeInvalidException - The type of the parameter does not correspond with the type of the parameter in the query.

create

public void create(java.lang.String queryString)
            throws QueryInvalidException
Create an OQL query from the string parameter. In order to execute a query, an OQLQuery object must be created by calling Implementation.newOQLQuery, then calling the create method with the query string. The create method might throw QueryInvalidException if the query could not be compiled properly. Some implementations may not want to compile the query before execute is called. In this case QueryInvalidException is thrown when execute is called.

Specified by:
create in interface OQLQuery
Parameters:
queryString - An OQL query.
Throws:
QueryInvalidException - The query syntax is invalid.

execute

public java.lang.Object execute()
                         throws QueryException
Execute the query. After executing a query, the parameter list is reset. Some implementations may throw additional exceptions that are also derived from ODMGException.

Specified by:
execute in interface OQLQuery
Returns:
The object that represents the result of the query. The returned data, whatever its OQL type, is encapsulated into an object. For instance, when OQL returns an integer, the result is put into an Integer object. When OQL returns a collection (literal or object), the result is always a Java collection object of the same kind (for instance, a DList).
Throws:
QueryException - An exception has occurred while executing the query.


Authors: Thomas Mahler and others. (C) 2000, 2001.
All rights reserved. Published under the Gnu Public License.
http://objectbridge.sourceforge.net
Version: 0.8.375, 2002-04-04