Package com.couchbase.lite
Class Joins
java.lang.Object
com.couchbase.lite.Joins
- All Implemented Interfaces:
com.couchbase.lite.internal.Listenable<QueryChange,
,QueryChangeListener> Query
A Joins component represents a collection of the joins clauses of the query statement.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionaddChangeListener
(QueryChangeListener listener) Adds a query change listener.addChangeListener
(Executor executor, QueryChangeListener listener) Adds a query change listener with the dispatch queue on which changes will be posted.execute()
Executes the query returning a result set that enumerates result rows one at a time.explain()
Returns a string describing the implementation of the compiled query.protected final com.couchbase.lite.AbstractDatabase
Get the database to which this query will be applied.Returns a copy of the current parameters.limit
(Expression limit) Creates and chains a Limit object to limit the number query results.limit
(Expression limit, Expression offset) Creates and chains a Limit object to skip the returned results for the given offset position and to limit the number of results to not more than the given limit value.Creates and chains an OrderBy object for specifying the orderings of the query result.protected final com.couchbase.lite.internal.core.C4Query
prepQueryLocked
(com.couchbase.lite.AbstractDatabase db) void
Deprecated.use ListenerToken.remove()void
setParameters
(Parameters parameters) Set query parameters.toString()
where
(Expression expression) Creates and chains a Where object for specifying the WHERE clause of the query.
-
Field Details
-
DOMAIN
-
-
Method Details
-
where
Creates and chains a Where object for specifying the WHERE clause of the query.- Parameters:
expression
- The where expression.- Returns:
- The Where object that represents the WHERE clause of the query.
-
orderBy
Creates and chains an OrderBy object for specifying the orderings of the query result.- Parameters:
orderings
- The Ordering objects.- Returns:
- The OrderBy object that represents the ORDER BY clause of the query.
-
limit
Creates and chains a Limit object to limit the number query results.- Parameters:
limit
- The limit expression.- Returns:
- The Limit object that represents the LIMIT clause of the query.
-
limit
Creates and chains a Limit object to skip the returned results for the given offset position and to limit the number of results to not more than the given limit value.- Parameters:
limit
- The limit expression.offset
- The offset expression.- Returns:
- The Limit object that represents the LIMIT clause of the query.
-
toString
-
getDatabase
@NonNull protected final com.couchbase.lite.AbstractDatabase getDatabase()Get the database to which this query will be applied.- Returns:
- the query database.
-
prepQueryLocked
@NonNull protected final com.couchbase.lite.internal.core.C4Query prepQueryLocked(@NonNull com.couchbase.lite.AbstractDatabase db) throws CouchbaseLiteException - Throws:
CouchbaseLiteException
-
getParameters
Returns a copy of the current parameters.- Specified by:
getParameters
in interfaceQuery
-
setParameters
Set query parameters. Setting new parameters will re-execute a query if there is at least one listener listening for changes.- Specified by:
setParameters
in interfaceQuery
- Throws:
IllegalStateException
- on failure to create the query (e.g., database closed)IllegalArgumentException
- on failure to encode the parameters (e.g., parameter value not supported)
-
execute
Executes the query returning a result set that enumerates result rows one at a time. You can run the query any number of times and you can even have multiple ResultSet active at once.The results come from a snapshot of the database taken at the moment the run() method is called, so they will not reflect any changes made to the database afterwards.
- Specified by:
execute
in interfaceQuery
- Returns:
- the ResultSet for the query result.
- Throws:
CouchbaseLiteException
- if there is an error when running the query.
-
explain
Returns a string describing the implementation of the compiled query. This is intended to be read by a developer for purposes of optimizing the query, especially to add database indexes. It's not machine-readable and its format may change. As currently implemented, the result is two or more lines separated by newline characters:- The first line is the SQLite SELECT statement.
- The subsequent lines are the output of SQLite's "EXPLAIN QUERY PLAN" command applied to that statement.
- Specified by:
explain
in interfaceQuery
- Returns:
- a string describing the implementation of the compiled query.
- Throws:
CouchbaseLiteException
- if an error occurs
-
addChangeListener
Adds a query change listener. Changes will be posted on the main queue.- Specified by:
addChangeListener
in interfacecom.couchbase.lite.internal.Listenable<QueryChange,
QueryChangeListener> - Specified by:
addChangeListener
in interfaceQuery
- Parameters:
listener
- The listener to post changes.- Returns:
- An opaque listener token object for removing the listener.
-
addChangeListener
@NonNull public ListenerToken addChangeListener(@Nullable Executor executor, @NonNull QueryChangeListener listener) Adds a query change listener with the dispatch queue on which changes will be posted. If the dispatch queue is not specified, the changes will be posted on the main queue.- Specified by:
addChangeListener
in interfacecom.couchbase.lite.internal.Listenable<QueryChange,
QueryChangeListener> - Specified by:
addChangeListener
in interfaceQuery
- Parameters:
executor
- The executor object that calls listener. If null, use default executor.listener
- The listener to post changes.- Returns:
- An opaque listener token object for removing the listener.
- Throws:
IllegalStateException
- on failure to create the query (e.g., database closed)
-
removeChangeListener
Deprecated.use ListenerToken.remove()Removes a change listener wih the given listener token.- Specified by:
removeChangeListener
in interfaceQuery
- Parameters:
token
- The listener token.
-