oracle.toplink.queryframework
Class ReportQuery
java.lang.Object
oracle.toplink.queryframework.DatabaseQuery
oracle.toplink.queryframework.ReadQuery
oracle.toplink.queryframework.ObjectLevelReadQuery
oracle.toplink.queryframework.ReadAllQuery
oracle.toplink.queryframework.ReportQuery
- All Implemented Interfaces:
- java.lang.Cloneable, oracle.toplink.internal.helper.FalseUndefinedTrue, java.io.Serializable
- public class ReportQuery
- extends ReadAllQuery
Purpose: Query for information about a set of objects instead of the objects themselves. This supports select single attributes, nested attributes, aggregation functions and group bys.
Attribute Types:
- addAttribute("directQueryKey") is a short cut method to add an attribute with the same name as its corresponding direct query key.
- addAttribute("attributeName", expBuilder.get("oneToOneMapping").get("directQueryKey")) is the full approach for get values through joined 1:1 relationships.
- addAttribute("attributeName", expBuilder.getField("TABLE.FIELD")) allows the addition of raw values or values which were not mapped in the object model directly (i.e. FK attributes).
- addAttribute("attributeName", null) Leave a place holder (NULL) value in the result (used for included values from other systems or calculated values).
Retrieving Primary Keys
: It is possble to retrieve the primary key raw values within each result, but stored in a separate (internal) vector. This primary key vector can later be used to retrieve the real object.
- Since:
- TOPLink/Java 2.0
- See Also:
retrievePrimaryKeys(), If the values are wanted in the result array then they must be added as attributes. For primary keys which are not mapped directly you can add them as DatabaseFields (see above)., Serialized Form
| Fields inherited from class oracle.toplink.queryframework.ObjectLevelReadQuery |
CheckCacheByExactPrimaryKey, CheckCacheByPrimaryKey, CheckCacheOnly, CheckCacheThenDatabase, ConformResultsInUnitOfWork, DoNotCheckCache, DONT_USE_DISTINCT, inMemoryQueryIndirectionPolicy, LOCK, LOCK_NOWAIT, NO_LOCK, UNCOMPUTED_DISTINCT, USE_DISTINCT |
| Fields inherited from interface oracle.toplink.internal.helper.FalseUndefinedTrue |
False, True, Undefined |
| Method Summary |
void |
addAttribute(java.lang.String itemName)
PUBLIC: Add the attribute from the reference class to be included in the result. |
void |
addAttribute(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the attribute to be included in the result. |
void |
addAverage(java.lang.String itemName)
PUBLIC: Add the average value of the attribute to be included in the result. |
void |
addAverage(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the average value of the attribute to be included in the result. |
void |
addCount()
PUBLIC: Add the count of the size of the result to be included in the result. |
void |
addCount(java.lang.String itemName)
PUBLIC: Add the count of the size of the result to be included in the result. |
void |
addCount(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the count of the size of the result to be included in the result. |
void |
addFunctionItem(java.lang.String itemName, Expression attributeExpression, java.lang.String functionName)
ADVANCED: Add the function against the attribute expression to be included in the result. |
void |
addGrouping(Expression expression)
PUBLIC: Add the attribute expression to the group by expressions. |
void |
addGrouping(java.lang.String attributeName)
PUBLIC: Add the attribute to the group by expressions. |
void |
addItem(java.lang.String itemName, Expression attributeExpression)
ADVANCED: Add the expression value to be included in the result. |
void |
addMaximum(java.lang.String itemName)
PUBLIC: Add the maximum value of the attribute to be included in the result. |
void |
addMaximum(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the maximum value of the attribute to be included in the result. |
void |
addMinimum(java.lang.String itemName)
PUBLIC: Add the minimum value of the attribute to be included in the result. |
void |
addMinimum(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the minimum value of the attribute to be included in the result. |
void |
addStandardDeviation(java.lang.String itemName)
PUBLIC: Add the standard deviation value of the attribute to be included in the result. |
void |
addStandardDeviation(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the standard deviation value of the attribute to be included in the result. |
void |
addSum(java.lang.String itemName)
PUBLIC: Add the sum value of the attribute to be included in the result. |
void |
addSum(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the sum value of the attribute to be included in the result. |
void |
addVariance(java.lang.String itemName)
PUBLIC: Add the variance value of the attribute to be included in the result. |
void |
addVariance(java.lang.String itemName, Expression attributeExpression)
PUBLIC: Add the variance value of the attribute to be included in the result. |
java.lang.Object |
buildObject(DatabaseRow row)
INTERNAL: Construct a result from a row. |
java.lang.Object |
buildObjects(java.util.Vector rows)
INTERNAL: Construct a container of ReportQueryResult from the rows. |
void |
dontRetrievePrimaryKeys()
PUBLIC: Set if the query results should contain the primary keys or each associated object. |
void |
dontReturnSingleAttribute()
PUBLIC: Don't simplify the result by returning the single attribute. |
void |
dontReturnSingleResult()
PUBLIC: Simplifies the result by only returning the first result. |
void |
dontReturnSingleValue()
PUBLIC: Simplifies the result by only returning a single value. |
java.lang.Object |
execute()
INTERNAL: Execute the query. |
java.lang.Object |
extractRemoteResult(oracle.toplink.internal.remote.Transporter transporter)
INTERNAL: Extract the correct query result from the transporter. |
java.util.Vector |
getGroupByExpressions()
INTERNAL: Return the group bys. |
java.util.Vector |
getItemExpressions()
INTERNAL: return a collection of expressions from the items. |
java.util.Vector |
getItems()
INTERNAL: |
java.util.Vector |
getNames()
INTERNAL: Lazily initialize and return the names of the items requested for use in each result object |
boolean |
isReportQuery()
PUBLIC: Return if this is a report query. |
void |
prepareSubSelect(oracle.toplink.publicinterface.Session session, DatabaseRow translationRow)
INTERNAL: Prepare the receiver for being printed inside a subselect. |
oracle.toplink.internal.helper.IdentityHashtable |
replaceValueHoldersIn(java.lang.Object object, oracle.toplink.internal.remote.RemoteSessionController controller)
INTERNAL: replace the value holders in the specified result object(s) |
void |
retrievePrimaryKeys()
PUBLIC: Set if the query results should contain the primary keys or each associated object. |
void |
returnSingleAttribute()
PUBLIC: Simplify the result by returning a single attribute. |
void |
returnSingleResult()
PUBLIC: Simplifies the result by only returning the first result. |
void |
returnSingleValue()
PUBLIC: Simplifies the result by only returning a single value. |
void |
setShouldRetrievePrimaryKeys(boolean shouldRetrievePrimaryKeys)
PUBLIC: Set if the query results should contain the primary keys or each associated object. |
void |
setShouldReturnSingleAttribute(boolean newChoice)
PUBLIC: Simplifies the result by only returning the attribute (as opposed to wrapping in a ReportQueryResult). |
void |
setShouldReturnSingleResult(boolean newChoice)
PUBLIC: Simplifies the result by only returning the first result. |
void |
setShouldReturnSingleValue(boolean newChoice)
PUBLIC: Simplifies the result by only returning a single value. |
boolean |
shouldCacheQueryResults()
PUBLIC: Report query results are never cached. |
boolean |
shouldRetrievePrimaryKeys()
PUBLIC: Return if the query results should contain the primary keys or each associated object. |
boolean |
shouldReturnSingleAttribute()
PUBLIC: Answer if we are only returning the attribute (as opposed to wrapping in a ReportQueryResult). |
boolean |
shouldReturnSingleResult()
PUBLIC: Simplifies the result by only returning the first result. |
boolean |
shouldReturnSingleValue()
PUBLIC: Simplifies the result by only returning a single value. |
| Methods inherited from class oracle.toplink.queryframework.ReadAllQuery |
addAscendingOrdering, addBatchReadAttribute, addBatchReadAttribute, addDescendingOrdering, addOrdering, checkEarlyReturn, clone, dontUseCursoredStream, getAllFromIdentityMaps, getBatchReadAttributeExpressions, getConnectByExpression, getContainerPolicy, getCursorPageAmount, getCursorThreshold, getOrderByExpressions, getOrderSiblingsByExpressions, getStartWithExpression, hasHierarchicalExpressions, hasOrderByExpressions, isAttributeBatchRead, isReadAllQuery, prepareForExecution, registerObjectInUnitOfWork, remoteExecute, setBatchReadAttributeExpressions, setContainerPolicy, setCursorPageAmount, setCursorThreshold, setHierarchicalQueryClause, setOrderByExpressions, setUsesCursoredStream, useCollectionClass, useCursoredStream, useCursoredStream, useCursoredStream, useMapClass, useScrollableCursor, useScrollableCursor, useScrollableCursor |
| Methods inherited from class oracle.toplink.queryframework.ObjectLevelReadQuery |
acquireLocks, acquireLocksWithoutWaiting, addAdditionalField, addAdditionalField, addJoinedAttribute, addJoinedAttribute, addPartialAttribute, addPartialAttribute, changeDescriptor, checkCacheOnly, checkDescriptor, conformResultsInUnitOfWork, dontAcquireLocks, dontCheckCache, dontRefreshIdentityMapResult, dontRefreshRemoteIdentityMapResult, dontUseDistinct, getAdditionalFields, getBaseExpression, getCacheUsage, getDistinctState, getExampleObject, getExpressionBuilder, getInMemoryQueryIndirectionPolicy, getJoinedAttributeExpressions, getLeafDescriptorFor, getLeafMappingFor, getLockMode, getPartialAttributeExpressions, getPartialAttributeExpressionsWithoutKeyFields, getQueryByExamplePolicy, getReferenceClass, getSelectionCriteriaForPersistence, hasJoinedAttributes, hasPartialAttributeExpressions, isAttributeJoined, isDistinctComputed, isLockQuery, isObjectLevelReadQuery, isPartialAttribute, refreshIdentityMapResult, refreshRemoteIdentityMapResult, resetDistinct, setAdditionalFields, setBaseExpression, setCacheUsage, setDistinctState, setExampleObject, setInMemoryQueryIndirectionPolicy, setJoinedAttributeExpressions, setLockMode, setPartialAttributeExpressions, setQueryByExamplePolicy, setReferenceClass, setSelectionCriteriaFromPersistence, setShouldIncludeData, setShouldRefreshIdentityMapResult, setShouldRefreshRemoteIdentityMapResult, shouldCheckCacheOnly, shouldConformResultsInUnitOfWork, shouldDistinctBeUsed, shouldIncludeData, shouldReadMapping, shouldRefreshIdentityMapResult, shouldRefreshRemoteIdentityMapResult, toString, useDistinct |
| Methods inherited from class oracle.toplink.queryframework.ReadQuery |
cacheQueryResults, clearQueryResults, doNotCacheQueryResults, execute, getMaxRows, getQueryId, isReadQuery, remoteExecute, setMaxRows, setQueryId, setShouldCacheQueryResults |
| Methods inherited from class oracle.toplink.queryframework.DatabaseQuery |
addArgument, addArgument, addArgument, addArgumentValue, addArgumentValues, addCall, addStatement, bindAllParameters, cacheStatement, cascadeAllParts, cascadeOnlyDependentParts, cascadePrivateParts, checkPrepare, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, getAccessor, getArguments, getArgumentTypes, getArgumentValues, getCall, getCascadePolicy, getDescriptor, getEJBQLString, getHintString, getName, getProperties, getProperty, getQueryMechanism, getQueryTimeout, getRedirector, getSelectionCriteria, getSession, getSessionName, getSQLStatement, getSQLString, getTranslatedSQLString, getTranslationRow, hasAccessor, hasProperties, hasSessionName, ignoreBindAllParameters, ignoreCacheStatement, isCallQuery, isCascadeOfAggregateDelete, isDataModifyQuery, isDataReadQuery, isDeleteObjectQuery, isExpressionQuery, isModifyQuery, isObjectLevelModifyQuery, isReadObjectQuery, isSQLCallQuery, isUserDefined, isWriteObjectQuery, maintainCache, prepareCall, redirectQuery, remoteExecute, removeProperty, rowFromArguments, setAccessor, setArguments, setArgumentTypes, setArgumentValues, setCall, setCascadePolicy, setDescriptor, setEJBQLString, setHintString, setIsUserDefined, setName, setProperties, setProperty, setQueryTimeout, setRedirector, setSelectionCriteria, setSession, setSessionName, setShouldBindAllParameters, setShouldCacheStatement, setShouldMaintainCache, setShouldPrepare, setShouldUseWrapperPolicy, setSQLStatement, setSQLString, setTranslationRow, shouldBindAllParameters, shouldCacheStatement, shouldCascadeAllParts, shouldCascadeOnlyDependentParts, shouldCascadeParts, shouldCascadePrivateParts, shouldIgnoreBindAllParameters, shouldIgnoreCacheStatement, shouldIgnoreMaintainCache, shouldMaintainCache, shouldPrepare, shouldUseWrapperPolicy |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ReportQuery
public ReportQuery()
- INTERNAL: The builder should be provided.
ReportQuery
public ReportQuery(java.lang.Class javaClass,
Expression expression)
ReportQuery
public ReportQuery(java.lang.Class javaClass,
ExpressionBuilder builder)
- PUBLIC: The report query is require to be constructor with an expression builder. This build must be used for the selection critiera, any item expressions, group bys and order bys.
ReportQuery
public ReportQuery(ExpressionBuilder builder)
- PUBLIC: The report query is require to be constructor with an expression builder. This build must be used for the selection critiera, any item expressions, group bys and order bys.
addAttribute
public void addAttribute(java.lang.String itemName)
- PUBLIC: Add the attribute from the reference class to be included in the result. EXAMPLE: reportQuery.addAttribute("firstName");
addAttribute
public void addAttribute(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the attribute to be included in the result. EXAMPLE: reportQuery.addAttribute("city", expBuilder.get("address").get("city"));
addAverage
public void addAverage(java.lang.String itemName)
- PUBLIC: Add the average value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addAverage("salary");
addAverage
public void addAverage(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the average value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addAverage("managerSalary", expBuilder.get("manager").get("salary"));
addCount
public void addCount()
- PUBLIC: Add the count of the size of the result to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addCount();
addCount
public void addCount(java.lang.String itemName)
- PUBLIC: Add the count of the size of the result to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addCount("id");
addCount
public void addCount(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the count of the size of the result to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addCount("id", expBuilder.get("id"));
addFunctionItem
public void addFunctionItem(java.lang.String itemName,
Expression attributeExpression,
java.lang.String functionName)
- ADVANCED: Add the function against the attribute expression to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. Example: reportQuery.addFunctionItem("average", expBuilder.get("salary"), "average");
addGrouping
public void addGrouping(java.lang.String attributeName)
- PUBLIC: Add the attribute to the group by expressions. This will group the result set on that attribute and is normally used in conjunction with aggregation functions. Example: reportQuery.addGrouping("lastName")
addGrouping
public void addGrouping(Expression expression)
- PUBLIC: Add the attribute expression to the group by expressions. This will group the result set on that attribute and is normally used in conjunction with aggregation functions. Example: reportQuery.addGrouping(expBuilder.get("address").get("country"))
addItem
public void addItem(java.lang.String itemName,
Expression attributeExpression)
- ADVANCED: Add the expression value to be included in the result. EXAMPLE: reportQuery.addItem("name", expBuilder.get("firstName").toUpperCase());
addMaximum
public void addMaximum(java.lang.String itemName)
- PUBLIC: Add the maximum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addMaximum("salary");
addMaximum
public void addMaximum(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the maximum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addMaximum("managerSalary", expBuilder.get("manager").get("salary"));
addMinimum
public void addMinimum(java.lang.String itemName)
- PUBLIC: Add the minimum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addMinimum("salary");
addMinimum
public void addMinimum(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the minimum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addMinimum("managerSalary", expBuilder.get("manager").get("salary"));
addStandardDeviation
public void addStandardDeviation(java.lang.String itemName)
- PUBLIC: Add the standard deviation value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addStandardDeviation("salary");
addStandardDeviation
public void addStandardDeviation(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the standard deviation value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addStandardDeviation("managerSalary", expBuilder.get("manager").get("salary"));
addSum
public void addSum(java.lang.String itemName)
- PUBLIC: Add the sum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addSum("salary");
addSum
public void addSum(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the sum value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addSum("managerSalary", expBuilder.get("manager").get("salary"));
addVariance
public void addVariance(java.lang.String itemName)
- PUBLIC: Add the variance value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addVariance("salary");
addVariance
public void addVariance(java.lang.String itemName,
Expression attributeExpression)
- PUBLIC: Add the variance value of the attribute to be included in the result. Aggregation functions can be used with a group by, or on the entire result set. EXAMPLE: reportQuery.addVariance("managerSalary", expBuilder.get("manager").get("salary"));
buildObject
public java.lang.Object buildObject(DatabaseRow row)
- INTERNAL: Construct a result from a row. Either return a ReportQueryResult or just the attribute.
-
- Overrides:
buildObject in class ObjectLevelReadQuery
buildObjects
public java.lang.Object buildObjects(java.util.Vector rows)
- INTERNAL: Construct a container of ReportQueryResult from the rows. If only one result or value was asked for only return that.
dontRetrievePrimaryKeys
public void dontRetrievePrimaryKeys()
- PUBLIC: Set if the query results should contain the primary keys or each associated object. This make retrieving the real object easier. By default they are not retrieved.
dontReturnSingleAttribute
public void dontReturnSingleAttribute()
- PUBLIC: Don't simplify the result by returning the single attribute. Wrap in a ReportQueryResult.
dontReturnSingleResult
public void dontReturnSingleResult()
- PUBLIC: Simplifies the result by only returning the first result. This can be used if it known that only one row is returned by the report query.
dontReturnSingleValue
public void dontReturnSingleValue()
- PUBLIC: Simplifies the result by only returning a single value. This can be used if it known that only one row is returned by the report query and only a single item is added to the report.
execute
public java.lang.Object execute()
throws DatabaseException
- INTERNAL: Execute the query. Get the rows and build the object from the rows.
-
- Overrides:
execute in class ReadAllQuery
-
- Returns:
- Vector - collection of objects resulting from execution of query.
- Throws:
DatabaseException - - an error has occurred on the database
extractRemoteResult
public java.lang.Object extractRemoteResult(oracle.toplink.internal.remote.Transporter transporter)
- INTERNAL: Extract the correct query result from the transporter.
-
- Overrides:
extractRemoteResult in class ReadAllQuery
getGroupByExpressions
public java.util.Vector getGroupByExpressions()
- INTERNAL: Return the group bys.
getItemExpressions
public java.util.Vector getItemExpressions()
- INTERNAL: return a collection of expressions from the items. Ignore the null (place holders).
getItems
public java.util.Vector getItems()
- INTERNAL:
-
- Returns:
- ReportQueryItems defining the attributes to be read
getNames
public java.util.Vector getNames()
- INTERNAL: Lazily initialize and return the names of the items requested for use in each result object
isReportQuery
public boolean isReportQuery()
- PUBLIC: Return if this is a report query.
-
- Overrides:
isReportQuery in class DatabaseQuery
prepareSubSelect
public void prepareSubSelect(oracle.toplink.publicinterface.Session session,
DatabaseRow translationRow)
throws QueryException
- INTERNAL: Prepare the receiver for being printed inside a subselect. This prepares the statement but not the call.
-
- Throws:
QueryException
replaceValueHoldersIn
public oracle.toplink.internal.helper.IdentityHashtable replaceValueHoldersIn(java.lang.Object object,
oracle.toplink.internal.remote.RemoteSessionController controller)
- INTERNAL: replace the value holders in the specified result object(s)
-
- Overrides:
replaceValueHoldersIn in class ReadAllQuery
retrievePrimaryKeys
public void retrievePrimaryKeys()
- PUBLIC: Set if the query results should contain the primary keys or each associated object. This make retrieving the real object easier. By default they are not retrieved.
returnSingleAttribute
public void returnSingleAttribute()
- PUBLIC: Simplify the result by returning a single attribute. Don't wrap in a ReportQueryResult.
returnSingleResult
public void returnSingleResult()
- PUBLIC: Simplifies the result by only returning the first result. This can be used if it known that only one row is returned by the report query.
returnSingleValue
public void returnSingleValue()
- PUBLIC: Simplifies the result by only returning a single value. This can be used if it known that only one row is returned by the report query and only a single item is added to the report.
setShouldRetrievePrimaryKeys
public void setShouldRetrievePrimaryKeys(boolean shouldRetrievePrimaryKeys)
- PUBLIC: Set if the query results should contain the primary keys or each associated object. This make retrieving the real object easier. By default they are not retrieved.
setShouldReturnSingleAttribute
public void setShouldReturnSingleAttribute(boolean newChoice)
- PUBLIC: Simplifies the result by only returning the attribute (as opposed to wrapping in a ReportQueryResult). This can be used if it is known that only one attribute is returned by the report query.
setShouldReturnSingleResult
public void setShouldReturnSingleResult(boolean newChoice)
- PUBLIC: Simplifies the result by only returning the first result. This can be used if it known that only one row is returned by the report query.
setShouldReturnSingleValue
public void setShouldReturnSingleValue(boolean newChoice)
- PUBLIC: Simplifies the result by only returning a single value. This can be used if it known that only one row is returned by the report query and only a single item is added to the report.
shouldCacheQueryResults
public boolean shouldCacheQueryResults()
- PUBLIC: Report query results are never cached.
-
- Overrides:
shouldCacheQueryResults in class ReadQuery
shouldRetrievePrimaryKeys
public boolean shouldRetrievePrimaryKeys()
- PUBLIC: Return if the query results should contain the primary keys or each associated object. This make retrieving the real object easier.
shouldReturnSingleAttribute
public boolean shouldReturnSingleAttribute()
- PUBLIC: Answer if we are only returning the attribute (as opposed to wrapping in a ReportQueryResult). This can be used if it is known that only one attribute is returned by the report query.
shouldReturnSingleResult
public boolean shouldReturnSingleResult()
- PUBLIC: Simplifies the result by only returning the first result. This can be used if it known that only one row is returned by the report query.
shouldReturnSingleValue
public boolean shouldReturnSingleValue()
- PUBLIC: Simplifies the result by only returning a single value. This can be used if it known that only one row is returned by the report query and only a single item is added to the report.