@Generated(value="by gapic-generator") @BetaApi public class ContextsClient extends Object implements com.google.api.gax.core.BackgroundResource
You can include contexts as input parameters of a [DetectIntent][google.cloud.dialogflow.v2beta1.Sessions.DetectIntent] (or [StreamingDetectIntent][google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent]) request, or as output contexts included in the returned intent. Contexts expire when an intent is matched, after the number of `DetectIntent` requests specified by the `lifespan_count` parameter, or after 20 minutes if no intents are matched for a `DetectIntent` request.
For more information about contexts, see the [Dialogflow documentation](https://cloud.google.com/dialogflow/docs/contexts-overview).
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
Context response = contextsClient.getContext(name);
}
Note: close() needs to be called on the contextsClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of ContextsSettings to create(). For example:
To customize credentials:
ContextsSettings contextsSettings =
ContextsSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
ContextsClient contextsClient =
ContextsClient.create(contextsSettings);
To customize the endpoint:
ContextsSettings contextsSettings =
ContextsSettings.newBuilder().setEndpoint(myEndpoint).build();
ContextsClient contextsClient =
ContextsClient.create(contextsSettings);
Modifier and Type | Class and Description |
---|---|
static class |
ContextsClient.ListContextsFixedSizeCollection |
static class |
ContextsClient.ListContextsPage |
static class |
ContextsClient.ListContextsPagedResponse |
Modifier | Constructor and Description |
---|---|
protected |
ContextsClient(ContextsSettings settings)
Constructs an instance of ContextsClient, using the given settings.
|
protected |
ContextsClient(ContextsStub stub) |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static ContextsClient |
create()
Constructs an instance of ContextsClient with default settings.
|
static ContextsClient |
create(ContextsSettings settings)
Constructs an instance of ContextsClient, using the given settings.
|
static ContextsClient |
create(ContextsStub stub)
Constructs an instance of ContextsClient, using the given stub for making calls.
|
Context |
createContext(CreateContextRequest request)
Creates a context.
|
Context |
createContext(SessionName parent,
Context context)
Creates a context.
|
Context |
createContext(String parent,
Context context)
Creates a context.
|
com.google.api.gax.rpc.UnaryCallable<CreateContextRequest,Context> |
createContextCallable()
Creates a context.
|
void |
deleteAllContexts(DeleteAllContextsRequest request)
Deletes all active contexts in the specified session.
|
void |
deleteAllContexts(SessionName parent)
Deletes all active contexts in the specified session.
|
void |
deleteAllContexts(String parent)
Deletes all active contexts in the specified session.
|
com.google.api.gax.rpc.UnaryCallable<DeleteAllContextsRequest,Empty> |
deleteAllContextsCallable()
Deletes all active contexts in the specified session.
|
void |
deleteContext(ContextName name)
Deletes the specified context.
|
void |
deleteContext(DeleteContextRequest request)
Deletes the specified context.
|
void |
deleteContext(String name)
Deletes the specified context.
|
com.google.api.gax.rpc.UnaryCallable<DeleteContextRequest,Empty> |
deleteContextCallable()
Deletes the specified context.
|
Context |
getContext(ContextName name)
Retrieves the specified context.
|
Context |
getContext(GetContextRequest request)
Retrieves the specified context.
|
Context |
getContext(String name)
Retrieves the specified context.
|
com.google.api.gax.rpc.UnaryCallable<GetContextRequest,Context> |
getContextCallable()
Retrieves the specified context.
|
ContextsSettings |
getSettings() |
ContextsStub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
ContextsClient.ListContextsPagedResponse |
listContexts(ListContextsRequest request)
Returns the list of all contexts in the specified session.
|
ContextsClient.ListContextsPagedResponse |
listContexts(SessionName parent)
Returns the list of all contexts in the specified session.
|
ContextsClient.ListContextsPagedResponse |
listContexts(String parent)
Returns the list of all contexts in the specified session.
|
com.google.api.gax.rpc.UnaryCallable<ListContextsRequest,ListContextsResponse> |
listContextsCallable()
Returns the list of all contexts in the specified session.
|
com.google.api.gax.rpc.UnaryCallable<ListContextsRequest,ContextsClient.ListContextsPagedResponse> |
listContextsPagedCallable()
Returns the list of all contexts in the specified session.
|
void |
shutdown() |
void |
shutdownNow() |
Context |
updateContext(Context context)
Updates the specified context.
|
Context |
updateContext(UpdateContextRequest request)
Updates the specified context.
|
com.google.api.gax.rpc.UnaryCallable<UpdateContextRequest,Context> |
updateContextCallable()
Updates the specified context.
|
protected ContextsClient(ContextsSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") protected ContextsClient(ContextsStub stub)
public static final ContextsClient create() throws IOException
IOException
public static final ContextsClient create(ContextsSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public static final ContextsClient create(ContextsStub stub)
public final ContextsSettings getSettings()
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public ContextsStub getStub()
public final ContextsClient.ListContextsPagedResponse listContexts(SessionName parent)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
for (Context element : contextsClient.listContexts(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent
- Required. The session to list all contexts from. Format: `projects/<Project
ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified, we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final ContextsClient.ListContextsPagedResponse listContexts(String parent)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
for (Context element : contextsClient.listContexts(parent.toString()).iterateAll()) {
// doThingsWith(element);
}
}
parent
- Required. The session to list all contexts from. Format: `projects/<Project
ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified, we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final ContextsClient.ListContextsPagedResponse listContexts(ListContextsRequest request)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
ListContextsRequest request = ListContextsRequest.newBuilder()
.setParent(parent.toString())
.build();
for (Context element : contextsClient.listContexts(request).iterateAll()) {
// doThingsWith(element);
}
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListContextsRequest,ContextsClient.ListContextsPagedResponse> listContextsPagedCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
ListContextsRequest request = ListContextsRequest.newBuilder()
.setParent(parent.toString())
.build();
ApiFuture<ListContextsPagedResponse> future = contextsClient.listContextsPagedCallable().futureCall(request);
// Do something
for (Context element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListContextsRequest,ListContextsResponse> listContextsCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
ListContextsRequest request = ListContextsRequest.newBuilder()
.setParent(parent.toString())
.build();
while (true) {
ListContextsResponse response = contextsClient.listContextsCallable().call(request);
for (Context element : response.getContextsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final Context getContext(ContextName name)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
Context response = contextsClient.getContext(name);
}
name
- Required. The name of the context. Format: `projects/<Project
ID>/agent/sessions/<Session ID>/contexts/<Context ID>` or
`projects/<Project ID>/agent/environments/<Environment ID>/users/<User
ID>/sessions/<Session ID>/contexts/<Context ID>`. If `Environment ID` is not
specified, we assume default 'draft' environment. If `User ID` is not specified, we assume
default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final Context getContext(String name)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
Context response = contextsClient.getContext(name.toString());
}
name
- Required. The name of the context. Format: `projects/<Project
ID>/agent/sessions/<Session ID>/contexts/<Context ID>` or
`projects/<Project ID>/agent/environments/<Environment ID>/users/<User
ID>/sessions/<Session ID>/contexts/<Context ID>`. If `Environment ID` is not
specified, we assume default 'draft' environment. If `User ID` is not specified, we assume
default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final Context getContext(GetContextRequest request)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
GetContextRequest request = GetContextRequest.newBuilder()
.setName(name.toString())
.build();
Context response = contextsClient.getContext(request);
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetContextRequest,Context> getContextCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
GetContextRequest request = GetContextRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<Context> future = contextsClient.getContextCallable().futureCall(request);
// Do something
Context response = future.get();
}
public final Context createContext(SessionName parent, Context context)
If the specified context already exists, overrides the context.
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
Context context = Context.newBuilder().build();
Context response = contextsClient.createContext(parent, context);
}
parent
- Required. The session to create a context for. Format: `projects/<Project
ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified, we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.context
- Required. The context to create.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final Context createContext(String parent, Context context)
If the specified context already exists, overrides the context.
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
Context context = Context.newBuilder().build();
Context response = contextsClient.createContext(parent.toString(), context);
}
parent
- Required. The session to create a context for. Format: `projects/<Project
ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified, we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.context
- Required. The context to create.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final Context createContext(CreateContextRequest request)
If the specified context already exists, overrides the context.
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
Context context = Context.newBuilder().build();
CreateContextRequest request = CreateContextRequest.newBuilder()
.setParent(parent.toString())
.setContext(context)
.build();
Context response = contextsClient.createContext(request);
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<CreateContextRequest,Context> createContextCallable()
If the specified context already exists, overrides the context.
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
Context context = Context.newBuilder().build();
CreateContextRequest request = CreateContextRequest.newBuilder()
.setParent(parent.toString())
.setContext(context)
.build();
ApiFuture<Context> future = contextsClient.createContextCallable().futureCall(request);
// Do something
Context response = future.get();
}
public final Context updateContext(Context context)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
Context context = Context.newBuilder().build();
Context response = contextsClient.updateContext(context);
}
context
- Required. The context to update.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final Context updateContext(UpdateContextRequest request)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
Context context = Context.newBuilder().build();
UpdateContextRequest request = UpdateContextRequest.newBuilder()
.setContext(context)
.build();
Context response = contextsClient.updateContext(request);
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UpdateContextRequest,Context> updateContextCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
Context context = Context.newBuilder().build();
UpdateContextRequest request = UpdateContextRequest.newBuilder()
.setContext(context)
.build();
ApiFuture<Context> future = contextsClient.updateContextCallable().futureCall(request);
// Do something
Context response = future.get();
}
public final void deleteContext(ContextName name)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
contextsClient.deleteContext(name);
}
name
- Required. The name of the context to delete. Format: `projects/<Project
ID>/agent/sessions/<Session ID>/contexts/<Context ID>` or
`projects/<Project ID>/agent/environments/<Environment ID>/users/<User
ID>/sessions/<Session ID>/contexts/<Context ID>`. If `Environment ID` is not
specified, we assume default 'draft' environment. If `User ID` is not specified, we assume
default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final void deleteContext(String name)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
contextsClient.deleteContext(name.toString());
}
name
- Required. The name of the context to delete. Format: `projects/<Project
ID>/agent/sessions/<Session ID>/contexts/<Context ID>` or
`projects/<Project ID>/agent/environments/<Environment ID>/users/<User
ID>/sessions/<Session ID>/contexts/<Context ID>`. If `Environment ID` is not
specified, we assume default 'draft' environment. If `User ID` is not specified, we assume
default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final void deleteContext(DeleteContextRequest request)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
DeleteContextRequest request = DeleteContextRequest.newBuilder()
.setName(name.toString())
.build();
contextsClient.deleteContext(request);
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteContextRequest,Empty> deleteContextCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
DeleteContextRequest request = DeleteContextRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<Void> future = contextsClient.deleteContextCallable().futureCall(request);
// Do something
future.get();
}
public final void deleteAllContexts(SessionName parent)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
contextsClient.deleteAllContexts(parent);
}
parent
- Required. The name of the session to delete all contexts from. Format:
`projects/<Project ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final void deleteAllContexts(String parent)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
contextsClient.deleteAllContexts(parent.toString());
}
parent
- Required. The name of the session to delete all contexts from. Format:
`projects/<Project ID>/agent/sessions/<Session ID>` or `projects/<Project
ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
ID>`. If `Environment ID` is not specified we assume default 'draft' environment. If
`User ID` is not specified, we assume default '-' user.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final void deleteAllContexts(DeleteAllContextsRequest request)
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
DeleteAllContextsRequest request = DeleteAllContextsRequest.newBuilder()
.setParent(parent.toString())
.build();
contextsClient.deleteAllContexts(request);
}
request
- The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException
- if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteAllContextsRequest,Empty> deleteAllContextsCallable()
Sample code:
try (ContextsClient contextsClient = ContextsClient.create()) {
SessionName parent = SessionName.of("[PROJECT]", "[SESSION]");
DeleteAllContextsRequest request = DeleteAllContextsRequest.newBuilder()
.setParent(parent.toString())
.build();
ApiFuture<Void> future = contextsClient.deleteAllContextsCallable().futureCall(request);
// Do something
future.get();
}
public final void close()
close
in interface AutoCloseable
public void shutdown()
shutdown
in interface com.google.api.gax.core.BackgroundResource
public boolean isShutdown()
isShutdown
in interface com.google.api.gax.core.BackgroundResource
public boolean isTerminated()
isTerminated
in interface com.google.api.gax.core.BackgroundResource
public void shutdownNow()
shutdownNow
in interface com.google.api.gax.core.BackgroundResource
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
awaitTermination
in interface com.google.api.gax.core.BackgroundResource
InterruptedException
Copyright © 2019 Google LLC. All rights reserved.