com.sun.mdm.index.query
Interface AssemblerEngine

All Known Implementing Classes:
AssemblerEngineImpl, QueryPipeLine, TupleAssemblerEngine

public interface AssemblerEngine


Method Summary
 java.lang.Object clone()
           
 void close()
          close the Engine
 boolean hasNext()
          returns true if has a Next object else returns false
 void initCompile(SQLDescriptor[] sqlDescs, AssembleDescriptor assDesc)
          This is used during compilation and any data structures are cached.
 void initRun(java.sql.Connection con, java.sql.ResultSet[] resultSets, java.sql.Statement[] statements, int maxRows)
          This initialization is used during run time.
 void initRun(java.sql.Connection con, java.sql.ResultSet[] resultSets, java.sql.Statement[] statements, int maxRows, boolean closeDbConnection)
          This initialization is used during run time.
 java.lang.Object next()
          returns next root object
 

Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns:
clone of this object.
Throws:
java.lang.CloneNotSupportedException - CloneNotSupportedException

close

public void close()
           throws QMException
close the Engine

Throws:
QMException - QMException

hasNext

public boolean hasNext()
                throws QMException
returns true if has a Next object else returns false

Returns:
true of false
Throws:
QMException - QMException

initCompile

public void initCompile(SQLDescriptor[] sqlDescs,
                        AssembleDescriptor assDesc)
                 throws QMException
This is used during compilation and any data structures are cached. So the data strcutures should be read only and can be shared.

Parameters:
sqlDescs - SQLDescriptor[] that contains SQL statements and their meta data to be used for initialization.
assDesc - AssembleDescriptor
Throws:
QMException - QMException

initRun

public void initRun(java.sql.Connection con,
                    java.sql.ResultSet[] resultSets,
                    java.sql.Statement[] statements,
                    int maxRows)
             throws QMException
This initialization is used during run time. QueryManager passes Connection and ResultSet[] to the AssemblerEngine so that AssemblerEngine can retrieve data from the database and compose the objects.

Parameters:
con - Connection
resultSets - ResultSet[]
statements - Statement[]
Throws:
QMException - QMException

initRun

public void initRun(java.sql.Connection con,
                    java.sql.ResultSet[] resultSets,
                    java.sql.Statement[] statements,
                    int maxRows,
                    boolean closeDbConnection)
             throws QMException
This initialization is used during run time. QueryManager passes Connection and ResultSet[] to the AssemblerEngine so that AssemblerEngine can retrieve data from the database and compose the objects.

Parameters:
con - Connection
resultSets - ResultSet[]
statements - Statement[]
maxRows - maximum number of rows
closeDbConnection - set to true if the database connection is to be closed by the AssemblerEngine, false if some other calling class is to close the database connection instead.
Throws:
QMException - QMException

next

public java.lang.Object next()
                      throws QMException
returns next root object

Returns:
next root object
Throws:
QMException - QMException


Sun Microsystems, Inc.