3.2.1: 2012-12-13

net.sf.basedb.core
Class DynamicQuery

java.lang.Object
  extended by net.sf.basedb.core.AbstractQuery
      extended by net.sf.basedb.core.AbstractSqlQuery
          extended by net.sf.basedb.core.DynamicQuery
All Implemented Interfaces:
ClonableReporterQuery, Query, SqlQuery
Direct Known Subclasses:
DataCube.RawMappingQuery, DynamicExtraValueQuery, DynamicPositionQuery, DynamicSpotQuery

public abstract class DynamicQuery
extends AbstractSqlQuery
implements ClonableReporterQuery

Represents a query against the dynamic database. A single query object may query against data in one data cube at a time. Most of the times however, this is limited to data in a single bioassayset. A query usually has the VirtualTable.SPOT or VirtualTable.POSITION as the root table for the query. Use factory methods in the Dynamic class to join other tables and create restrictions based on the data in those tables.

This type of query is executed by the AbstractSqlQuery.iterate(DbControl) method and returns the result as a DynamicResultIterator.

Version:
2.0
Author:
Nicklas
See Also:
BioAssaySet.getSpotData(), BioAssaySet.getPositionData(), ExtraValue.getValues()
Last modified
$Date: 2011-12-02 12:09:46 +0100 (Fri, 02 Dec 2011) $

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.basedb.core.AbstractSqlQuery
AbstractSqlQuery.CountWork
 
Field Summary
private  DataCube cube
           
private  boolean hasClonedReporters
           
private  VirtualTable rootTable
           
private  IntensityTransform transform
           
private  boolean useClonedReporters
           
private  VirtualDb virtualDb
           
 
Constructor Summary
DynamicQuery(DataCube cube, VirtualTable rootTable, IntensityTransform transform)
          Create a new dynamic query.
DynamicQuery(VirtualDb vdb, VirtualTable rootTable)
          Create a new non-restricted dynamic query.
 
Method Summary
(package private)  DataCube getDataCube()
           
 IntensityTransform getIntensityTransform()
          Get the intensity transform that was used to store spot intensities for the root bioassay set in this query.
abstract  JepFunction[] getJepFunctions(DbControl dc, boolean restrictions)
          Create custom JEP function that can be used with the current query.
 String getRootAlias()
          The alias of the item that is returned by this query.
(package private)  VirtualTable getRootTable()
           
 VirtualDb getVirtualDb()
          Get the virtual database that this query is using.
 boolean hasClonedReporters()
          Check if the virtual database that this query is using has cloned reporter annotations or not.
 void setUseClonedReporters(boolean useClonedReporters)
          Set if cloned reporters should be used by default or not.
 boolean useClonedReporters()
          Checks if this query is using cloned reporter or not by default.
 
Methods inherited from class net.sf.basedb.core.AbstractSqlQuery
bindLimits, closeResultSet, closeStatement, count, getDefaultSelects, getQueryType, iterate, parseParameters, releaseSavepoint, rollbackToSavepoint, setParameters
 
Methods inherited from class net.sf.basedb.core.AbstractQuery
addAutoJoiner, getCountQuery, getFirstResult, getMainQuery, getMaxResults, getParameterNames, getParameters, getParameterType, getParameterValue, getPermanentSelects, getQueryParameter, getQuerySection, getSelects, group, groupPermanent, hasParameterValue, having, havingPermanent, isCounting, isDistinct, isFailSafe, isReadonly, isReturningTotalCount, join, joinPermanent, order, orderPermanent, postProcessQuery, reset, resetTemporary, restrict, restrictPermanent, select, selectPermanent, setCounting, setDistinct, setFailSafe, setFirstResult, setMaxResults, setParameter, setPermanentParameter, setReturnTotalCount, temporaryJoin, temporarySelect, toQl, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.basedb.core.query.Query
addAutoJoiner, getFirstResult, getMaxResults, getParameterNames, getQueryParameter, getQuerySection, group, groupPermanent, hasParameterValue, having, havingPermanent, isCounting, isDistinct, isFailSafe, isReadonly, isReturningTotalCount, join, joinPermanent, order, orderPermanent, reset, restrict, restrictPermanent, select, selectPermanent, setDistinct, setFailSafe, setFirstResult, setMaxResults, setParameter, setPermanentParameter, setReturnTotalCount, toQl
 

Field Detail

cube

private final DataCube cube

virtualDb

private final VirtualDb virtualDb

rootTable

private final VirtualTable rootTable

transform

private final IntensityTransform transform

hasClonedReporters

private final boolean hasClonedReporters

useClonedReporters

private boolean useClonedReporters
Constructor Detail

DynamicQuery

DynamicQuery(DataCube cube,
             VirtualTable rootTable,
             IntensityTransform transform)
Create a new dynamic query.

Parameters:
cube - The cube to query against
rootTable - The root table of the query

DynamicQuery

DynamicQuery(VirtualDb vdb,
             VirtualTable rootTable)
Create a new non-restricted dynamic query.

Parameters:
vdb - The virtual database to use
rootTable - The root table of the query
Since:
3.1
Method Detail

getRootAlias

public String getRootAlias()
The alias of the item that is returned by this query.

Specified by:
getRootAlias in interface Query
See Also:
Item.getAlias()

hasClonedReporters

public boolean hasClonedReporters()
Check if the virtual database that this query is using has cloned reporter annotations or not.

Specified by:
hasClonedReporters in interface ClonableReporterQuery
Since:
3.1

useClonedReporters

public boolean useClonedReporters()
Checks if this query is using cloned reporter or not by default. The default setting is to use cloned reporters if they are available in the experiment.

Specified by:
useClonedReporters in interface ClonableReporterQuery
Returns:
TRUE if this query is using cloned reporters, FALSE if not
Since:
3.1

setUseClonedReporters

public void setUseClonedReporters(boolean useClonedReporters)
Set if cloned reporters should be used by default or not.

Specified by:
setUseClonedReporters in interface ClonableReporterQuery
Parameters:
useClonedReporters - TRUE to use cloned reporters by default, FALSE to use the master reporters
Since:
3.1

getVirtualDb

public VirtualDb getVirtualDb()
Get the virtual database that this query is using.

Specified by:
getVirtualDb in interface ClonableReporterQuery
Returns:
A virtual database item
Since:
3.1

getJepFunctions

public abstract JepFunction[] getJepFunctions(DbControl dc,
                                              boolean restrictions)
Create custom JEP function that can be used with the current query. The actual function need to implement either JepExpressionFunction or JepRestrictionFunction.

Parameters:
restrictions - If FALSE the metod should only return functions that can be used as Expression:s, otherwise it should return both expression and restriction functions
Since:
2.15

getDataCube

DataCube getDataCube()

getRootTable

VirtualTable getRootTable()

getIntensityTransform

public IntensityTransform getIntensityTransform()
Get the intensity transform that was used to store spot intensities for the root bioassay set in this query.

Since:
2.12

3.2.1: 2012-12-13