Package net.sf.basedb.core
Class DynamicPositionQuery
- java.lang.Object
-
- net.sf.basedb.core.AbstractQuery
-
- net.sf.basedb.core.AbstractSqlQuery
-
- net.sf.basedb.core.DynamicQuery
-
- net.sf.basedb.core.DynamicPositionQuery
-
- All Implemented Interfaces:
ClonableReporterQuery
,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 theDynamic
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 theExpressions
,Restrictions
and other classes.This type of query is executed by the
AbstractSqlQuery.iterate(DbControl)
method and returns the result as aDynamicResultIterator
.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
BioAssaySet.getPositionData()
- Last modified
- $Date: 2012-09-14 09:28:35 +0200 (fr, 14 sep 2012) $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.basedb.core.AbstractSqlQuery
AbstractSqlQuery.CountWork
-
-
Field Summary
Fields Modifier and Type Field Description private BioAssaySet
bioAssaySet
private Select[]
defaultSelects
private Set<Object>
joinedItems
-
Constructor Summary
Constructors Constructor Description DynamicPositionQuery(BioAssaySet bioAssaySet)
Create a new dynamic query.DynamicPositionQuery(Experiment experiment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) Select[]
getDefaultSelects()
Default selection: positionJepFunction[]
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
joinReporterList(ReporterList reporterList, JoinType joinType)
Makes a join with aReporterList
void
joinReporters(JoinType joinType)
Join information about reporters in the query.void
joinReporters(JoinType joinType, boolean useCloned)
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, hasClonedReporters, setUseClonedReporters, useClonedReporters
-
Methods inherited from class net.sf.basedb.core.AbstractSqlQuery
closeResultSet, closeStatement, count, getLimitHandler, getQueryType, getRowSelectionForLimitHandler, iterate, parseParameters, releaseSavepoint, rollbackToSavepoint, setParameters
-
Methods inherited from class net.sf.basedb.core.AbstractQuery
addAutoJoiner, getCountQuery, getFirstResult, getIdQuery, 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, 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, restrict, restrictPermanent, select, selectPermanent, setDistinct, setFailSafe, setFirstResult, setMaxResults, setParameter, setPermanentParameter, setReturnTotalCount, toQl
-
-
-
-
Field Detail
-
bioAssaySet
private final BioAssaySet bioAssaySet
-
defaultSelects
private Select[] defaultSelects
-
-
Constructor Detail
-
DynamicPositionQuery
DynamicPositionQuery(BioAssaySet bioAssaySet)
Create a new dynamic query.- Parameters:
bioAssaySet
- The bioAssaySet to query against
-
DynamicPositionQuery
DynamicPositionQuery(Experiment experiment)
-
-
Method Detail
-
getDefaultSelects
Select[] getDefaultSelects()
Default selection: position- Specified by:
getDefaultSelects
in classAbstractSqlQuery
-
reset
public void reset()
Reset join information.- Specified by:
reset
in interfaceQuery
- Overrides:
reset
in classAbstractQuery
-
getJepFunctions
public 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)
- Specified by:
getJepFunctions
in classAbstractSqlQuery
restrictions
- If FALSE the metod should only return functions that can be used asExpression
:s, otherwise it should return both expression and restriction functions- Since:
- 2.15
- pos():
-
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.NOTE! Since BASE 3.1 this method automatically join to the cloned reporter table if available. Use
joinReporters(JoinType, boolean)
, orDynamicQuery.setUseClonedReporters(boolean)
with a FALSE value to force using the master reporters table.- 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)
-
joinReporters
public void joinReporters(JoinType joinType, boolean useCloned)
Join information about reporters in the query. If the useCloned parameter is TRUE cloned reporter annotations are used if available, otherwise the master reporter annotations are used.- Parameters:
joinType
- The type of join. Can not be null.- Throws:
InvalidDataException
- If joinType parameter is null.- Since:
- 3.1
- See Also:
Dynamic.selectReporter(String)
,Dynamic.reporter(String)
-
joinReporterList
public void joinReporterList(ReporterList reporterList, JoinType joinType)
Makes a join with aReporterList
- Parameters:
reporterList
- To do the join on.joinType
- The join type to use.- Since:
- 3.0
- See Also:
JoinType
-
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 isJoinType.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
-
-