2.17.2: 2011-06-17

net.sf.basedb.core
Class DynamicPositionQuery

java.lang.Object
  extended by net.sf.basedb.core.AbstractQuery
      extended by net.sf.basedb.core.AbstractSqlQuery
          extended by net.sf.basedb.core.DynamicQuery
              extended by net.sf.basedb.core.DynamicPositionQuery
All Implemented Interfaces:
Query, SqlQuery

public class DynamicPositionQuery
extends DynamicQuery

Represents a query for position information against the dynamic database. A single query object may query against data in one bioassayset at a time. Use factory methods in the Dynamic class to join other tables and create restrictions based on the data in those tables. You may of course also use the regular expressions and restrictions from the Expressions, Restrictions and other classes.

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.getPositionData()
Last modified
$Date: 2010-04-20 10:02:16 +0200 (Tue, 20 Apr 2010) $

Field Summary
private  BioAssaySet bioAssaySet
           
private  Select[] defaultSelects
           
private  Set<Object> joinedItems
           
 
Constructor Summary
DynamicPositionQuery(BioAssaySet bioAssaySet)
          Create a new dynamic query.
 
Method Summary
(package private)  Select[] getDefaultSelects()
          Default selection: position
 JepFunction[] getJepFunctions(DbControl dc, boolean restrictions)
          The following JEP function can be used: pos(): PositionFunction rep(property): ReporterFunction score(reporter-list-id): ScoreFunction xtra(extra-value-id): ExtraValueFunction (if a bioassay set has been specified) inList(reporter-list-id): InReporterListFunction (only if restrictions=true) notInList(reporter-list-id): NotInReporterListFunction (only if restrictions=true)
 void joinExtraValue(ExtraValue extraValue, JoinType joinType)
          Join extra values in the query.
 void joinReporters(JoinType joinType)
          Join information about reporters in the query.
 void reset()
          Reset join information.
 void setAutoJoinType(JoinType joinType)
          Specify the join type of automatic joins.
 
Methods inherited from class net.sf.basedb.core.DynamicQuery
getDataCube, getIntensityTransform, getRootAlias, getRootTable, getVirtualDb
 
Methods inherited from class net.sf.basedb.core.AbstractSqlQuery
bindLimits, count, getQueryType, iterate, parseParameters, 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, isReadonly, isReturningTotalCount, join, joinPermanent, order, orderPermanent, postProcessQuery, resetTemporary, restrict, restrictPermanent, select, selectPermanent, setCounting, setDistinct, 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, isReadonly, isReturningTotalCount, join, joinPermanent, order, orderPermanent, restrict, restrictPermanent, select, selectPermanent, setDistinct, setFirstResult, setMaxResults, setParameter, setPermanentParameter, setReturnTotalCount, toQl
 

Field Detail

bioAssaySet

private final BioAssaySet bioAssaySet

defaultSelects

private Select[] defaultSelects

joinedItems

private Set<Object> joinedItems
Constructor Detail

DynamicPositionQuery

DynamicPositionQuery(BioAssaySet bioAssaySet)
Create a new dynamic query.

Parameters:
bioAssaySet - The bioAssaySet to query against
Method Detail

getDefaultSelects

Select[] getDefaultSelects()
Default selection: position

Specified by:
getDefaultSelects in class AbstractSqlQuery

reset

public void reset()
Reset join information.

Specified by:
reset in interface Query
Overrides:
reset in class AbstractQuery

getJepFunctions

public JepFunction[] getJepFunctions(DbControl dc,
                                     boolean restrictions)
The following JEP function can be used:

Specified by:
getJepFunctions in class DynamicQuery
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

joinReporters

public void joinReporters(JoinType joinType)
                   throws InvalidDataException,
                          BaseException
Join information about reporters in the query. Now it becomes possible to select reporter data or restrict the results based on reporter information.

Parameters:
joinType - The type of join. Can not be null.
Throws:
InvalidDataException - If joinType is null.
BaseException - If anything else goes wrong.
See Also:
Dynamic.selectReporter(String), Dynamic.reporter(String)

joinExtraValue

public void joinExtraValue(ExtraValue extraValue,
                           JoinType joinType)
                    throws InvalidDataException,
                           BaseException
Join extra values in the query. Now it becomes possible to select those extra values or use them for restrictions.

Parameters:
extraValue - The extra values to join. Can not be null.
joinType - The type of join. Can not be null.
Throws:
InvalidDataException - If any of the required parameters are null.
BaseException - If something else fails.
See Also:
Dynamic.select(ExtraValue, String), Dynamic.extraValue(ExtraValue)

setAutoJoinType

public void setAutoJoinType(JoinType joinType)
Specify the join type of automatic joins. The default join type is JoinType.LEFT. This setting doesn't affect joins that has been made directly to the query.

Parameters:
joinType - The type of the automatic joins
Since:
2.12

2.17.2: 2011-06-17