Package org.apache.kafka.streams.query
Interface QueryResult<R>
- Type Parameters:
R
- The result type of the query.
public interface QueryResult<R>
Container for a single partition's result when executing a
StateQueryRequest
.-
Method Summary
Modifier and TypeMethodDescriptionvoid
addExecutionInfo
(String message) Used by stores to add detailed execution information (if requested) during query execution.static <R> QueryResult<R>
forFailure
(FailureReason failureReason, String failureMessage) Static factory method to create a result object for a failed query.static <R> QueryResult<R>
forResult
(R result) Static factory method to create a result object for a successful query.static <R> QueryResult<R>
forUnknownQueryType
(Query<R> query, StateStore store) Static factory method to create a failed query result object to indicate that the store does not know how to handle the query.If detailed execution information was requested inStateQueryRequest.enableExecutionInfo()
, this method returned the execution details for this partition's result.If this partition failed to execute the query, returns the failure message.If this partition failed to execute the query, returns the reason.This state partition's exact position in its history when this query was executed.Returns the result of executing the query on one partition.boolean
True iff the query execution failed.boolean
True iff the query was successfully executed.static <R> QueryResult<R>
notUpToBound
(Position currentPosition, PositionBound positionBound, Integer partition) Static factory method to create a failed query result object to indicate that the store has not yet caught up to the requested position bound.void
setPosition
(Position position) Used by stores to report what exact position in the store's history it was at when it executed the query.
-
Method Details
-
forResult
Static factory method to create a result object for a successful query. Used by StateStores to respond to aStateStore.query(Query, PositionBound, QueryConfig)
. -
forFailure
Static factory method to create a result object for a failed query. Used by StateStores to respond to aStateStore.query(Query, PositionBound, QueryConfig)
. -
forUnknownQueryType
Static factory method to create a failed query result object to indicate that the store does not know how to handle the query.Used by StateStores to respond to a
StateStore.query(Query, PositionBound, QueryConfig)
. -
notUpToBound
static <R> QueryResult<R> notUpToBound(Position currentPosition, PositionBound positionBound, Integer partition) Static factory method to create a failed query result object to indicate that the store has not yet caught up to the requested position bound.Used by StateStores to respond to a
StateStore.query(Query, PositionBound, QueryConfig)
. -
addExecutionInfo
Used by stores to add detailed execution information (if requested) during query execution. -
setPosition
Used by stores to report what exact position in the store's history it was at when it executed the query. -
isSuccess
boolean isSuccess()True iff the query was successfully executed. The response is available in {@link this#getResult()}. -
isFailure
boolean isFailure()True iff the query execution failed. More information about the failure is available in {@link this#getFailureReason()} and {@link this#getFailureMessage()}. -
getExecutionInfo
If detailed execution information was requested inStateQueryRequest.enableExecutionInfo()
, this method returned the execution details for this partition's result. -
getPosition
Position getPosition()This state partition's exact position in its history when this query was executed. Can be used in conjunction with subsequent queries viaStateQueryRequest.withPositionBound(PositionBound)
.Note: stores are encouraged, but not required to set this property.
-
getFailureReason
FailureReason getFailureReason()If this partition failed to execute the query, returns the reason.- Throws:
IllegalArgumentException
- if this is not a failed result.
-
getFailureMessage
String getFailureMessage()If this partition failed to execute the query, returns the failure message.- Throws:
IllegalArgumentException
- if this is not a failed result.
-
getResult
R getResult()Returns the result of executing the query on one partition. The result type is determined by the query. Note: queries may choose to returnnull
for a successful query, so {@link this#isSuccess()} and {@link this#isFailure()} must be used to determine whether the query was successful of failed on this partition.- Throws:
IllegalArgumentException
- if this is not a successful query.
-