public class DynamicSpotQuery extends DynamicQuery
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
.
BioAssaySet.getSpotData()
AbstractSqlQuery.CountWork
Modifier and Type | Field and Description |
---|---|
private BioAssaySet |
bioAssaySet |
private Select[] |
defaultSelects |
private boolean |
disableRawJoinOnMergedData |
private Set<Object> |
joinedItems |
Constructor and Description |
---|
DynamicSpotQuery(BioAssaySet bioAssaySet)
Create a new dynamic query.
|
Modifier and Type | Method and Description |
---|---|
(package private) Select[] |
getDefaultSelects()
Default selection: column, postion, ch1, ch2, ...
|
boolean |
getDisableRawJoinOnMergedData() |
JepFunction[] |
getJepFunctions(DbControl dc,
boolean restrictions)
The following JEP functions can be used:
ch(n):
ChannelFunction
rawCh(n): RawChannelFunction
pos(): PositionFunction
rep(property): ReporterFunction
score(reporter-list-id): ScoreFunction
xtra(extra-value-id): ExtraValueFunction (if a bioassay set
has been specified)
raw(property): RawFunction
inList(reporter-list-id): InReporterListFunction (only if restrictions=true)
notInList(reporter-list-id): NotInReporterListFunction (only if restrictions=true)
|
boolean |
hasDisabledRawJoin()
Check if joining to raw data has been disabled.
|
void |
joinExtraValue(ExtraValue extraValue,
JoinType joinType)
Join extra values in the query.
|
void |
joinRawData(JoinType joinType)
Join information about raw data in the query.
|
void |
joinReporterList(ReporterList reporterList,
JoinType joinType)
Makes a join with a
ReporterList |
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.
|
void |
setDisableRawJoinOnMergedData(boolean disable)
Disable automatic and manual joining of raw data if the bioassay set
contains merged data.
|
getDataCube, getIntensityTransform, getRootAlias, getRootTable, getVirtualDb, hasClonedReporters, setUseClonedReporters, useClonedReporters
bindLimits, closeResultSet, closeStatement, count, getQueryType, iterate, parseParameters, releaseSavepoint, rollbackToSavepoint, setParameters
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, resetTemporary, restrict, restrictPermanent, select, selectPermanent, setCounting, setDistinct, setFailSafe, setFirstResult, setMaxResults, setParameter, setPermanentParameter, setReturnTotalCount, temporaryJoin, temporarySelect, toQl, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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
private final BioAssaySet bioAssaySet
private boolean disableRawJoinOnMergedData
private Select[] defaultSelects
DynamicSpotQuery(BioAssaySet bioAssaySet)
bioAssaySet
- The bioassay set to query againstSelect[] getDefaultSelects()
getDefaultSelects
in class AbstractSqlQuery
public void reset()
reset
in interface Query
reset
in class AbstractQuery
public JepFunction[] getJepFunctions(DbControl dc, boolean restrictions)
ChannelFunction
RawChannelFunction
PositionFunction
ReporterFunction
ScoreFunction
ExtraValueFunction
(if a bioassay set
has been specified)
RawFunction
InReporterListFunction
(only if restrictions=true)
NotInReporterListFunction
(only if restrictions=true)
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 functionspublic void setDisableRawJoinOnMergedData(boolean disable)
BioAssaySet.getMaxRawMappingsForSpot()
returns a value != 1. Note! Joins that have already been applied before this
method is called are not disabled.public boolean getDisableRawJoinOnMergedData()
public boolean hasDisabledRawJoin()
BioAssaySet.getMaxRawMappingsForSpot()
!= 1 and
getDisableRawJoinOnMergedData()
== truepublic void joinReporters(JoinType joinType) throws InvalidDataException
NOTE! Since BASE 3.1 this method automatically join to the cloned reporter
table if available. Use joinReporters(JoinType, boolean)
, or
DynamicQuery.setUseClonedReporters(boolean)
with a FALSE value to force using
the master reporters table.
joinType
- The type of join. Can not be null.InvalidDataException
- If joinType parameter is null.Dynamic.selectReporter(String)
,
Dynamic.reporter(String)
public void joinReporters(JoinType joinType, boolean useCloned)
joinType
- The type of join. Can not be null.InvalidDataException
- If joinType parameter is null.Dynamic.selectReporter(String)
,
Dynamic.reporter(String)
public void joinReporterList(ReporterList reporterList, JoinType joinType)
ReporterList
reporterList
- To do the join on.joinType
- The join type to use.JoinType
public void joinRawData(JoinType joinType) throws InvalidDataException
joinType
- The type of join. Can not be null.InvalidDataException
- If joinType parameter is null.Dynamic.selectRawData(String)
,
Dynamic.rawData(String)
public void joinExtraValue(ExtraValue extraValue, JoinType joinType) throws InvalidDataException
extraValue
- The extra values to join. Can not be null.joinType
- The type of join. Can not be null.InvalidDataException
- If any of the required parameters are null.Dynamic.select(ExtraValue, String)
,
Dynamic.extraValue(ExtraValue)
public void setAutoJoinType(JoinType joinType)
JoinType.LEFT
. This setting doesn't affect joins that has been made
directly to the query.joinType
- The type of the automatic joins