|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.amazon.carbonado.qe.AbstractQueryExecutor<T>
com.amazon.carbonado.qe.JoinedQueryExecutor<S,T>
S - source typeT - target typepublic class JoinedQueryExecutor<S extends Storable,T extends Storable>
QueryExecutor which joins a source and target executor, producing results of target type. The source executor is called once per fetch (outer loop), but the target executor is called once per source result (inner loop).
| Method Summary | ||
|---|---|---|
static
|
build(RepositoryAccess repoAccess,
ChainedProperty<T> targetToSourceProperty,
Filter<T> targetFilter,
OrderingList<T> targetOrdering,
QueryHints hints)
Builds and returns a complex joined excutor against a chained property, supporting multi-way joins. |
|
Cursor<T> |
fetch(FilterValues<T> values)
Returns a new cursor using the given filter values. |
|
Filter<T> |
getFilter()
Returns the filter used by this QueryExecutor. |
|
OrderingList<T> |
getOrdering()
Returns the result ordering of this QueryExecutor. |
|
boolean |
printPlan(Appendable app,
int indentLevel,
FilterValues<T> values)
Prints the query plan to any appendable, if applicable. |
|
| Methods inherited from class com.amazon.carbonado.qe.AbstractQueryExecutor |
|---|
count, fetchSlice, getStorableType, increaseIndent, indent, newline, printNative |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static <T extends Storable> QueryExecutor<T> build(RepositoryAccess repoAccess,
ChainedProperty<T> targetToSourceProperty,
Filter<T> targetFilter,
OrderingList<T> targetOrdering,
QueryHints hints)
throws RepositoryException
repoAccess - used to create query executors for outer and inner loopstargetToSourceProperty - join property of target type which maps
to instances of source typetargetFilter - optional filter for fetching target instancestargetOrdering - optional ordering to apply to target executor
& @param hints optional hints
IllegalArgumentException - if any parameter is null or if join
property is not a Storable type
RepositoryException - from RepositoryAccess
public Cursor<T> fetch(FilterValues<T> values)
throws FetchException
QueryExecutor
FetchExceptionpublic Filter<T> getFilter()
QueryExecutor
public OrderingList<T> getOrdering()
QueryExecutor
public boolean printPlan(Appendable app,
int indentLevel,
FilterValues<T> values)
throws IOException
QueryExecutor
values - optional
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||