Class AnalyticsRequest
- java.lang.Object
-
- com.couchbase.client.core.msg.BaseRequest<AnalyticsResponse>
-
- com.couchbase.client.core.msg.analytics.AnalyticsRequest
-
- All Implemented Interfaces:
ChunkDecodable<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>,Encodable<com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest>,HttpRequest<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>,Request<AnalyticsResponse>
public class AnalyticsRequest extends BaseRequest<AnalyticsResponse> implements HttpRequest<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>
-
-
Field Summary
Fields Modifier and Type Field Description static intNO_PRIORITY
-
Constructor Summary
Constructors Constructor Description AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope)AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope, String uri, com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpMethod httpMethod)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringbucket()Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.AnalyticsResponsedecode(ResponseStatus status, AnalyticsChunkHeader header, Flux<AnalyticsChunkRow> rows, Mono<AnalyticsChunkTrailer> trailer)Decodes a chunked response into the response format.com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequestencode()booleanidempotent()Returns if the given request is idempotent or not.Stringname()The unique name of the request, usually related to the type but not necessarily.StringoperationId()Returns a potentially non-unique identifier that is useful for tracing output.static StringqueryContext(String bucket, String scope)Helper method to build the query context from bucket and scope.Stringscope()Map<String,Object>serviceContext()Returns contextual information for each individual service.ServiceTypeserviceType()The service type of this request.Stringstatement()-
Methods inherited from class com.couchbase.client.core.msg.BaseRequest
absoluteTimeout, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed, timeoutRegistration
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.couchbase.client.core.msg.Request
absoluteTimeout, cancel, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, target, timeout, timeoutElapsed, timeoutRegistration
-
-
-
-
Field Detail
-
NO_PRIORITY
public static final int NO_PRIORITY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AnalyticsRequest
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope)
-
AnalyticsRequest
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, @Nullable byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope, String uri, com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpMethod httpMethod)
-
-
Method Detail
-
queryContext
public static String queryContext(String bucket, String scope)
Helper method to build the query context from bucket and scope.- Parameters:
bucket- the name of the bucket.scope- the name of the scope.- Returns:
- the build query context string.
-
encode
public com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest encode()
-
decode
public AnalyticsResponse decode(ResponseStatus status, AnalyticsChunkHeader header, Flux<AnalyticsChunkRow> rows, Mono<AnalyticsChunkTrailer> trailer)
Description copied from interface:ChunkDecodableDecodes a chunked response into the response format.- Specified by:
decodein interfaceChunkDecodable<AnalyticsChunkHeader,AnalyticsChunkRow,AnalyticsChunkTrailer,AnalyticsResponse>- Parameters:
status- the http response status.header- the chunk header.rows- the chunk rows.trailer- the chunk trailer.- Returns:
- a decoded response including all the chunk parts.
-
serviceType
public ServiceType serviceType()
Description copied from interface:RequestThe service type of this request.Can be null if this is a 'virtual service' (e.g. transactions), which don't map 1:1 to a particular cluster service, but need to integrate into various codepaths that are built around ServiceType such as ThresholdLoggingTracer. Virtual requests must not be sent into core at present, as there is limited support for them.
- Specified by:
serviceTypein interfaceRequest<AnalyticsResponse>- Returns:
- the service type for this request.
-
idempotent
public boolean idempotent()
Description copied from interface:RequestReturns if the given request is idempotent or not.By default, this method always returns false for data consistency reasons. Only specific idempotent operations should override this default since it impacts retry handling quite a bit. DO NOT SET THIS TO TRUE ON MUTATING OPERATIONS!
- Specified by:
idempotentin interfaceRequest<AnalyticsResponse>- Returns:
- true if idempotent.
-
operationId
public String operationId()
Description copied from interface:RequestReturns a potentially non-unique identifier that is useful for tracing output.Note: might be null! It depends on the type of operation. It is also different from the unqiue operation ID that increments to provide additional context (i.e in query the context uuid, in kv the opaque value).
- Specified by:
operationIdin interfaceRequest<AnalyticsResponse>- Returns:
- if present, the operation id. Null otherwise.
-
statement
public String statement()
-
serviceContext
public Map<String,Object> serviceContext()
Description copied from interface:RequestReturns contextual information for each individual service.- Specified by:
serviceContextin interfaceRequest<AnalyticsResponse>- Overrides:
serviceContextin classBaseRequest<AnalyticsResponse>- Returns:
- the service context.
-
bucket
public String bucket()
Description copied from interface:RequestReturns the name of the bucket this request is scoped to, or null if not scoped to a bucket.- Specified by:
bucketin interfaceRequest<AnalyticsResponse>- Returns:
- (nullable)
-
scope
public String scope()
-
name
public String name()
Description copied from interface:RequestThe unique name of the request, usually related to the type but not necessarily.The default implementation is derived from the class name (i.e. FooRequest returns foo), but if that does not match up it should be overridden in the actual class.
- Specified by:
namein interfaceRequest<AnalyticsResponse>- Returns:
- the name of the request type.
-
-