Package org.apache.cayenne.query
Class FluentSelect<T>
java.lang.Object
org.apache.cayenne.query.IndirectQuery
org.apache.cayenne.query.FluentSelect<T>
- All Implemented Interfaces:
Serializable
,Query
,Select<T>
- Direct Known Subclasses:
ColumnSelect
,ObjectSelect
public abstract class FluentSelect<T> extends IndirectQuery implements Select<T>
Base class for
ObjectSelect
and ColumnSelect
- Since:
- 4.0
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected String
cacheGroup
protected QueryCacheStrategy
cacheStrategy
protected String
dbEntityName
protected String
entityName
protected Class<?>
entityType
protected int
limit
protected int
offset
protected Collection<Ordering>
orderings
protected int
pageSize
protected PrefetchTreeNode
prefetches
protected int
statementFetchSize
protected Expression
where
Fields inherited from class org.apache.cayenne.query.IndirectQuery
dataMap, lastResolver, name, replacementQuery
-
Constructor Summary
Constructors Modifier Constructor Description protected
FluentSelect()
-
Method Summary
Modifier and Type Method Description ResultBatchIterator<T>
batchIterator(ObjectContext context, int size)
Creates a ResultBatchIterator based on the provided context and batch size.protected Query
createReplacementQuery(EntityResolver resolver)
Translates self to a SelectQuery.String
getCacheGroup()
QueryCacheStrategy
getCacheStrategy()
String
getDbEntityName()
String
getEntityName()
Class<?>
getEntityType()
int
getLimit()
int
getOffset()
Collection<Ordering>
getOrderings()
int
getPageSize()
PrefetchTreeNode
getPrefetches()
int
getStatementFetchSize()
Expression
getWhere()
Returns a WHERE clause Expression of this query.void
iterate(ObjectContext context, ResultIteratorCallback<T> callback)
Creates a ResultIterator based on the provided context and passes it to a callback for processing.ResultIterator<T>
iterator(ObjectContext context)
Creates a ResultIterator based on the provided context.List<T>
select(ObjectContext context)
Selects objects using provided context.T
selectOne(ObjectContext context)
Selects a single object using provided context.Methods inherited from class org.apache.cayenne.query.IndirectQuery
createSQLAction, getMetaData, getReplacementQuery, route
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.cayenne.query.Query
createSQLAction, getMetaData, route
Methods inherited from interface org.apache.cayenne.query.Select
selectFirst
-
Field Details
-
entityType
-
entityName
-
dbEntityName
-
where
-
orderings
-
prefetches
-
limit
protected int limit -
offset
protected int offset -
pageSize
protected int pageSize -
statementFetchSize
protected int statementFetchSize -
cacheStrategy
-
cacheGroup
-
-
Constructor Details
-
FluentSelect
protected FluentSelect()
-
-
Method Details
-
createReplacementQuery
Translates self to a SelectQuery.- Specified by:
createReplacementQuery
in classIndirectQuery
-
getCacheGroup
-
getCacheStrategy
-
getStatementFetchSize
public int getStatementFetchSize() -
getPageSize
public int getPageSize() -
getLimit
public int getLimit() -
getOffset
public int getOffset() -
getEntityType
-
getEntityName
-
getDbEntityName
-
getWhere
Returns a WHERE clause Expression of this query. -
getOrderings
-
getPrefetches
-
select
Description copied from interface:Select
Selects objects using provided context.Essentially the inversion of "ObjectContext.select(Select)".
-
selectOne
Description copied from interface:Select
Selects a single object using provided context. The query is expected to match zero or one object. It returns null if no objects were matched. If query matched more than one object,CayenneRuntimeException
is thrown.Essentially the inversion of "ObjectContext.selectOne(Select)".
-
iterate
Description copied from interface:Select
Creates a ResultIterator based on the provided context and passes it to a callback for processing. The caller does not need to worry about closing the iterator. This method takes care of it.Essentially the inversion of "ObjectContext.iterate(Select, ResultIteratorCallback)".
-
iterator
Description copied from interface:Select
Creates a ResultIterator based on the provided context. It is usually backed by an open result set and is useful for processing of large data sets, preserving a constant memory footprint. The caller must wrap iteration in try/finally (or try-with-resources for Java 1.7 and higher) and close the ResultIterator explicitly. Or useSelect.iterate(ObjectContext, ResultIteratorCallback)
as an alternative.Essentially the inversion of "ObjectContext.iterator(Select)".
-
batchIterator
Description copied from interface:Select
Creates a ResultBatchIterator based on the provided context and batch size. It is usually backed by an open result set and is useful for processing of large data sets, preserving a constant memory footprint. The caller must wrap iteration in try/finally (or try-with-resources for Java 1.7 and higher) and close the ResultBatchIterator explicitly.- Specified by:
batchIterator
in interfaceSelect<T>
-